Tutoriel sur les fonctions Excel VBA : retour, appel, exemples

Qu'est-ce qu'une fonction ?

Une fonction est un morceau de code qui exรฉcute une tรขche spรฉcifique et renvoie un rรฉsultat. Les fonctions sont principalement utilisรฉes pour effectuer des tรขches rรฉpรฉtitives telles que le formatage des donnรฉes pour la sortie, l'exรฉcution de calculs, etc.

Supposons que vous dรฉveloppiez un programme qui calcule les intรฉrรชts d'un prรชt. Vous pouvez crรฉer une fonction qui accepte le montant du prรชt et la pรฉriode de rรฉcupรฉration. La fonction peut ensuite utiliser le montant du prรชt et la pรฉriode de remboursement pour calculer les intรฉrรชts et renvoyer la valeur.

Pourquoi utiliser des fonctions

Les avantages de l'utilisation de fonctions sont les mรชmes que ceux de la section ci-dessus expliquant pourquoi utiliser des sous-programmes.

Rรจgles de dรฉnomination des fonctions

Les rรจgles de dรฉnomination fonctionnent comme celles de la section ci-dessus sur les rรจgles de dรฉnomination des sous-programmes.

Syntaxe VBA pour dรฉclarer une fonction

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

ICI dans la syntaxe,

Code Action
  • ยซ Fonction privรฉe maFonction(โ€ฆ) ยป
  • Ici, le mot-clรฉ ยซ Function ยป est utilisรฉ pour dรฉclarer une fonction nommรฉe ยซ myFunction ยป et dรฉmarrer le corps de la fonction.
  • Le mot-clรฉ 'Privรฉ' est utilisรฉ pour spรฉcifier la portรฉe de la fonction
  • "ByVal arg1 comme entier, ByVal arg2 comme entier"
  • Il dรฉclare deux paramรจtres de type de donnรฉes entier nommรฉs ยซ arg1 ยป et ยซ arg2 ยป.
  • maFonction = arg1 + arg2
  • รฉvalue l'expression arg1 + arg2 et attribue le rรฉsultat au nom de la fonction.
  • "Fin de fonction"
  • ยซ End Sub ยป est utilisรฉ pour terminer le corps de la fonction

Fonction dรฉmontrรฉe avec exemple :

Les fonctions sont trรจs similaires ร  celles du sous-programme. La principale diffรฉrence entre un sous-programme et une fonction est que la fonction renvoie une valeur lorsqu'elle est appelรฉe. Alors qu'un sous-programme ne renvoie pas de valeur lorsqu'il est appelรฉ. Disons que vous souhaitez ajouter deux nombres. Vous pouvez crรฉer une fonction qui accepte deux nombres et renvoie la somme des nombres.

  1. Crรฉer l'interface utilisateur
  2. Ajouter la fonction
  3. ร‰crire le code du bouton de commande
  4. Tester le code

ร‰tape 1) Interface utilisateur

Ajoutez un bouton de commande ร  la feuille de calcul comme indiquรฉ ci-dessous

Fonctions et sous-programmes VBA

Dรฉfinissez les propriรฉtรฉs suivantes de CommanButton1 comme suit.

Ratio S / N Contrรดle Propriรฉtรฉs Valeur
1 Bouton de commande1 Nom btnAjouterNumbers
2 Lรฉgende Ajouter Numbers Fonction


Votre interface devrait maintenant apparaรฎtre comme suit

Fonctions et sous-programmes VBA

ร‰tape 2) Code de fonction.

  1. Appuyez sur Alt + F11 pour ouvrir la fenรชtre de code
  2. Ajoutez le code suivant
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

ICI dans le code,

Code Action
  • ยซ Ajout de fonction privรฉeNumbers(...) "
  • Il dรฉclare une fonction privรฉe ยซ add ยปNumbersยป qui accepte deux paramรจtres entiers.
  • "ByVal firstNumber sous forme d'entier, ByVal secondNumber sous forme d'entier"
  • Il dรฉclare deux variables de paramรจtre firstNumber et secondNumber
  • "ajouterNumbers = premierNumรฉro + deuxiรจmeNumรฉro ยป
  • Il ajoute les valeurs firstNumber et secondNumber et attribue la somme ร  ajouterNumbers.

ร‰tape 3) ร‰crivez le code qui appelle la fonction

  1. Faites un clic droit sur btnAjouterNumbers_Cliquez sur le bouton de commande
  2. Sรฉlectionnez Afficher le code
  3. Ajoutez le code suivant
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

ICI dans le code,

Code Action
"MessageBox ajouterNumbers(2,3) "
  • Il appelle la fonction addNumbers et passe 2 et 3 comme paramรจtres. La fonction renvoie la somme des deux nombres cinq (5)

ร‰tape 4) Exรฉcutez le programme, vous obtiendrez les rรฉsultats suivants

Fonctions et sous-programmes VBA

Tรฉlรฉchargez Excel contenant le code ci-dessus

Tรฉlรฉchargez le code Excel ci-dessus

Rรฉsumรฉ

  • Une fonction est un morceau de code qui exรฉcute une tรขche spรฉcifique. Une fonction renvoie une valeur aprรจs exรฉcution.
  • Les sous-programmes et les fonctions offrent la rรฉutilisabilitรฉ du code
  • Les sous-programmes et les fonctions aident ร  dรฉcomposer de gros morceaux de code en petits codes gรฉrables.

Rรฉsumez cet article avec :