Comment utiliser la fonction de feuille de calcul VBA ?

Notes clés

  • Vous pouvez utiliser la propriété WorksheetFunction pour accéder aux fonctions de feuille de calcul à utiliser dans une macro.

Comment utiliser une fonction de feuille de calcul dans VBA lors de l’écriture d’une macro

Utilisez les étapes suivantes pour utiliser une fonction de feuille de calcul dans VBA.

  • Tout d’abord, spécifiez la cellule dans laquelle vous souhaitez insérer les valeurs renvoyées par la fonction.
    worksheet-function-in-vba
  • Après cela, utilisez un signe égal (=) et tapez Application.WorksheetFunction (comme vous pouvez déjà le faire dans l’application Excel, vous ne pouvez utiliser que WorksheetFunction).
    use-an-equal-sign
  • Ensuite, vous devez entrer un point (.), et au moment où vous le ferez, vous obtiendrez une liste des fonctions que vous avez dans la feuille de calcul.
    you-need-to-enter-a-dot
  • À partir de là, utilisons la fonction TextJoin pour joindre le texte des cellules A1 et B1. Juste comme ça, vous utilisez une fonction dans la feuille de calcul ; lorsque vous entrez des parenthèses de départ, il vous montre les arguments que vous devez spécifier dans la cellule.
    use-the-textjoin-function
  • Comme vous pouvez le voir dans la capture d’écran ci-dessus, elle vous montre l’argument que vous devez spécifier, mais pas le nom des arguments. Donc, vous devez connaître les arguments avant de les utiliser. Voici les arguments que vous devez utiliser dans TextJoin.
    arguement-before-using-testjoin
  • Maintenant, entrons des arguments dans la fonction.
    enter-arguement-in-the-function
    1. délimiteur :  » « 
    2. ignore_empty : Vrai
    3. text1 : Plage (« A1 »)
    4. text2 : Plage(« B1 »)

Voici le code complet.

Sub MyMacro()

Range("A1") = _
Application.WorksheetFunction.TextJoin _
(" ", True, Range("A2"), Range("A3"))

End Sub

Il existe un total de 387 fonctions de feuille de calcul que vous pouvez utiliser dans VBA. Mais il y a quelques fonctions (Exemple : LEFT ) qui ne sont pas disponibles.

Raison? Il existe des fonctions intégrées dans VBA que vous pouvez utiliser lors de l’écriture d’un code VBA. Voyons si vous voulez utiliser une boîte de message pour obtenir la valeur d’une fonction. Supposons que vous souhaitiez obtenir la valeur maximale de la plage nommée « myValues ».

Le code serait :

Sub MyMacro()

MsgBox Prompt:=WorksheetFunction.Max(Range("myValues"))

End Sub

Et voici comment vous obtenez une boîte de message :

plage-nommée-mesvaleurs

Application.WorksheetFunction vs Application

Il existe deux manières différentes de faire référence à une fonction de feuille de calcul. Vous trouverez ci-dessous les deux lignes de code différentes qui effectuent la même activité.

application-feuille de travailfonction-vs-application
Sub MyMacro()

MsgBox Prompt:= _
Application.WorksheetFunction.Max(Range("myValues"))

MsgBox Prompt:= _
Application.Max(Range("myValues"))

End Sub

Mais il y a un avantage à utiliser la deuxième méthode. Il renvoie un code d’erreur au lieu d’afficher directement l’erreur.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *