La fonction VBA TypeName
Le saviez-vous ?
La fonction VBA TypeName()
donne le nom du type de données d’une variable. Ce nom est renvoyé sous forme de chaîne de caractères. En d’autres termes, si votre variable est déclarée par Dim x As Integer
, la fonction TypeName(x)
vous renverra la valeur "Integer"
.
La fonction ne servira peut-être pas si souvent que ça, mais ça peut toujours aider… 😉
Exemple
Un petit bout de code sera plus parlant. Tapez ceci dans un module standard de votre base de données, puis exécutez le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub DemoTypeName() ' Quelques variables Dim nombre1 As Integer Dim nombre2 As Double Dim jour As String ' Alimenter les variables nombre1 = 100 nombre2 = 256.512 jour = "samedi" ' Afficher les types de données Debug.Print "nombre1 est du type : " & TypeName(nombre1) Debug.Print "nombre2 est du type : " & TypeName(nombre2) Debug.Print "jour est du type : " & TypeName(jour) End Sub |
Vous obtiendrez ceci dans la fenêtre Exécution (Ctrl
+ G
) :
A noter que les variables n’ont pas besoin d’être alimentées pour que TypeName()
fonctionne. Le programme qui suit donnera exactement le même résultat :
1 2 3 4 5 6 7 8 9 10 11 |
Sub DemoTypeName() ' Quelques variables Dim nombre1 As Integer Dim nombre2 As Double Dim jour As String ' Afficher les types de données Debug.Print "nombre1 est du type : " & TypeName(nombre1) Debug.Print "nombre2 est du type : " & TypeName(nombre2) Debug.Print "jour est du type : " & TypeName(jour) End Sub |
Variante
Si vous ne déclarez pas vos variables – c’est pas bien de ne pas déclarer ses variables 😉 -, vous obtiendriez ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Sub DemoTypeName2() ' Quelques variables a = 100 b = "lundi" c = 42.24 ' Afficher les types de données Debug.Print "a est du type : " & TypeName(a) Debug.Print "b est du type : " & TypeName(b) Debug.Print "c est du type : " & TypeName(c) ' Variante a = "mardi" b = #12/25/2015# c = Null ' Afficher les types de données Debug.Print "Variantes" Debug.Print "a est du type : " & TypeName(a) Debug.Print "b est du type : " & TypeName(b) Debug.Print "c est du type : " & TypeName(c) End Sub |