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 Sub

Bonjour,

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+

Rechercher des sujets similaires à "lecon procedures fonctions"