VBA – Appel / Exécution d’une Sous-Procédure à Partir d’une Autre Sous-Procédure
In this Article
Ce tutoriel vous apprendra à appeler une sous-procédure à partir d’une autre sous-procédure en VBA
Il est très utile d’écrire du code qui peut être utilisé de manière répétitive, et appelé à partir de plusieurs sous-procédures dans votre projet – cela peut faire gagner énormément de temps et rendre le code VBA beaucoup plus efficace.
Exécution d’une Sous-Procédure à Partir d’une Autre Sous-Procédure
Considérons les 3 sous-procédures ci-dessous :
Sub TestRoutine()
ExécuterRoutine1
ExécuterRoutine2
End Sub
Sub ExécuterRoutine1()
MsgBox "Bonjour"
End Sub
Sub ExécuterRoutine2()
MsgBox "La date d'aujourd'hui est " & Format(Date, "mm/dd/yyyy")
End Sub
Si nous exécutons la sous-procédure – TestRoutine – elle appellera ExécuterRoutine1 et ExécuterRoutine2 et 2 boîtes de messages apparaîtront.
Il n’y a pas de limite au nombre de sous-procédures que vous pouvez appeler à partir d’une autre sous-procédure.
Utilisation de l’Instruction Call
Vous pouvez également utiliser l’instruction Call devant le nom de la procédure, afin de rendre votre code plus facile à lire. Toutefois, cela n’a aucun effet sur la façon dont le code est exécuté ou stocké.
Sub TestRoutine()
Call ExécuterRoutine1
Call ExécuterRoutine2
End Sub
Appel d’un Sous-Programme Avec des Arguments
Il est également possible d’appeler un sous-programme avec des arguments
Sub TestRoutine()
ExécuterRoutine1 ("Mélanie")
ExécuterRoutine2 ("Passe une belle journée")
End Sub
Sub ExécuterRoutine1(strNom As String)
MsgBox "Bonjour " & strNom
End Sub
Sub ExécuterRoutine2(strMessage As String)
MsgBox "La date d'aujourd'hui est " & Format(Date, "mm/dd/yyyy") & _
vbCrLf & strMessage
End Sub
Appel d’un Sous-Programme Avec des Arguments Nommés
Si vous nommez vos arguments, vous n’êtes pas obligé de les transmettre dans le même ordre à vos sous-programmes.
Sub TestRoutine()
ExécuterRoutine1 strMessage:="Comment allez-vous?", strNom:="Mélanie"
End Sub
Sub ExécuterRoutine1(strNom As String, strMessage As String)
MsgBox "Bonjour " & strNom & vbCrLf & strMessage
End Sub
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!