Comment utiliser l’instruction Call dans VBA ?

L’instruction `Call` dans VBA (Visual Basic for Applications) est utilisée pour appeler une procédure ou une fonction. Cependant, son utilisation est facultative. Vous pouvez appeler une procédure ou une fonction directement par son nom sans utiliser `Call`. Si vous choisissez d’utiliser `Call`, il est important de noter que les arguments de la procédure doivent être mis entre parenthèses.

Voici comment vous pouvez utiliser l’instruction `Call` :

Appeler une procédure avec `Call`

Supposons que vous ayez une procédure nommée `MaProcedure` :

Sub MaProcedure()
    MsgBox "Bonjour!"
End Sub

Pour appeler cette procédure avec `Call`, vous pouvez écrire :

Call MaProcedure

Ou simplement :

MaProcedure

Appeler une fonction avec `Call`

Si vous avez une fonction qui, par exemple, affiche un message et retourne la longueur d’une chaîne :

Function AfficherMessage(message As String) As Integer
    MsgBox message
    AfficherMessage = Len(message)
End Function

Pour appeler cette fonction avec `Call` et ignorer la valeur de retour :

Call AfficherMessage("Bonjour!")

Cependant, si vous voulez utiliser la valeur de retour, vous devez appeler la fonction de cette façon, sans `Call` :

Dim longueur As Integer
longueur = AfficherMessage("Bonjour!")

Notes

  • Arguments : Lorsque vous utilisez `Call`, les arguments doivent être placés entre parenthèses. Si vous n’utilisez pas `Call`, les parenthèses ne sont nécessaires que si vous vous servez du résultat retourné par une fonction.
  • Style : L’utilisation de `Call` est souvent une question de style ou de clarté. Certains l’utilisent pour indiquer explicitement qu’une procédure ou une fonction est appelée, bien que cela ne soit pas obligatoire.

En résumé, bien que l’instruction `Call` puisse être utilisée pour appeler des procédures ou des fonctions, elle n’est pas nécessaire et est souvent omise pour simplifier le code.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project