Types de variables en VBA

Les variables vues dans cette vidéo sont: Integer, Long, LongLong, LongPtr, Currency, Decimal, Single, Double, Objet, Date, Type défini par l'utilisateur et Collection


Code source

Option Explicit
Const pi As Single = 3.1415926

Sub test_integer()
Dim i
'For i = 0 To 100000 Step 10000
'    Debug.Print i
'Next
Debug.Print VarType(i)
i = 0
Debug.Print VarType(i)
i = "0"
Debug.Print VarType(i)

End Sub


Sub test_decimal()
Dim d As Variant
d = CDec(100 / 3)
Debug.Print d
d = CDec("1,12345678")
Debug.Print d

End Sub

Sub test_objet()
Dim Feuille As Object
Dim Nom As String * 50
Set Feuille = Worksheets(1)
Nom = "Nom fichier """ & Feuille.Name & """"
Debug.Print Nom
Nom = "Nom fichier " & Chr(34) & Feuille.Name & Chr(34)
Debug.Print Nom

End Sub

Sub test_date()
Dim d1 As Date, d2 As Date
d1 = 1.86
Debug.Print d1
Debug.Print Format(d1 + 1, "m/dd/yyyy")
Debug.Print Format(d1 + 1, "dddd d mmmm yyyy")
Debug.Print Format(d1 + 1, "long date") & "  " & Format(d1 + 1, "long time")

'd2 = Date
'Debug.Print d2 - d1
End Sub


*****************
Définition de Type à mettre dans un module

Type Voiture
    matricule As String
    proprietaire As String
    marque As String
    DateMEC As Date
End Type

Sub test_type()

Dim maVoiture As Voiture
With maVoiture
    .proprietaire = "A123456"
    .DateMEC = "01/03/2000"
    .marque = "Mercedes"
    .matricule = "1A12345"
End With
Debug.Print maVoiture.matricule

Dim mesVoitures(1 To 3) As Voiture

With mesVoitures(1)
    .proprietaire = "A123456"
    .DateMEC = "01/03/2000"
    .marque = "Mercedes"
    .matricule = "1A12345"
End With

With mesVoitures(2)
    .proprietaire = "A123456"
    .DateMEC = "01/03/2005"
    .marque = "Hyundai"
    .matricule = "2B12345"
End With

With mesVoitures(3)
    .proprietaire = "A123456"
    .DateMEC = "01/03/2015"
    .marque = "Jeep"
    .matricule = "2W12345"
End With

Debug.Print "mes voitures"

Dim i As Byte
For i = 1 To 3
    Debug.Print mesVoitures(i).matricule & " " & mesVoitures(i).marque
Next

End Sub

Sub test_collection()
Dim col As New Collection, i As Byte
'Set col = New Collection
col.Add "Maroc", "1"
col.Add "Canada", "2"
col.Add "Belgique", "3"
Debug.Print "Nbr équipes:" & col.Count
Debug.Print "liste en utisant un compteur"
For i = 1 To col.Count
    Debug.Print col(i)
Next
Debug.Print "liste en utilisant for each"
Dim el
For Each el In col
    Debug.Print el
Next
col.Remove "2"
Debug.Print "liste en utilisant for each apres suppression"

For Each el In col
    Debug.Print el
Next

End Sub

Function aireDisque(r As Single)
aireDisque = pi * r * r
End Function

Sub test()
Debug.Print aireDisque(1)
End Sub

Commentaires

Posts les plus consultés de ce blog

Nom des services Windows en Français et en Anglais

Comment afficher le mot de passe d’une connexion wifi mémorisé sur une machine Windows

Analyse de Fourrier sur Excel