Leçon n°6 - procédures et fonctions
Bonjour,
je suis actuellement en cour de formation VBA sur le site excel-pratique, j'en suis à la leçon numéro 6 - procédure et fonction.
je m'efforce depuis 2 heures de comprendre la logique du code
j'ai compris que la macro macro_test appelle la procédure boite_de_dialogue. Au niveau de la variable optionelle c'est ok.
Mais je ne comprend vraiment pas comment la boite de dialogue affiche le nom1, prénom1 et age1 alors que ces variable déclarer son nom, prenom et age ,
=> Dim nom1 As String, prenom1 As String, age1 As Integer
=> Private Sub boite_de_dialogue(nom As String, Optional prenom, Optional age)
je vous remercie pour votre réponse
Sub macro_test()
Dim nom1 As String, prenom1 As String, age1 As Integer
nom1 = Range("A1")
prenom1 = Range("B1")
age1 = Range("C1")
'Exemple 4 : on affiche le nom, le prénom et l'âge :
boite_de_dialogue nom1, prenom1, age1
End Sub
Private Sub boite_de_dialogue(nom As String, Optional prenom, Optional age)
If IsMissing(age) Then 'Si la variable age est absente ...
If IsMissing(prenom) Then 'Si la variable prenom est absente, on n'affiche que le nom
MsgBox nom
Else 'Sinon, on affiche le nom et le prénom
MsgBox nom & " " & prenom
End If
Else 'Si la variable age est présente ...
If IsMissing(prenom) Then 'Si la variable prenom est absente, on affiche le nom et l'âge
MsgBox nom & ", " & age & " ans"
Else 'Sinon on affiche le nom, le prénom et l'âge
MsgBox nom & " " & prenom & ", " & age & " ans"
End If
End If
End SubBonjour,
Peu importe comment tu nommes les variables. L'essentiel est qu'elles soient du même type (ici string pour le nom) Ce qui est transmis ce n'est pas le nom de l'emballage mais le contenu.
A+