Différence entre sous-routine et fonction dans Excel VBA

  • Partage Ça
Hugh West

Il y a beaucoup de similitudes entre un Fonction personnalisée/Fonction définie par l'utilisateur et la procédure Sous-procédure/Subroutine sur Excel Cependant, Fonction présentent des différences importantes par rapport aux procédures Sous-programme Dans cet article, nous verrons la différence entre une sous-routine et une fonction dans le langage de programmation. Excel VBA .

Télécharger le cahier d'exercices

Vous pouvez télécharger le cahier d'exercices à partir d'ici.

Subroutine et fonction.xlsm

Introduction aux sous-programmes et aux fonctions dans Excel VBA

La différence la plus importante est qu'une fonction renvoie une valeur (un nombre ou une chaîne de texte). La valeur de la procédure de la fonction est stockée dans une variable, une variable dont le nom est le même que celui de la fonction. La sous-routine exécute un ensemble de tâches et ne renvoie pas de valeur comme les fonctions.

1. fonction définie par l'utilisateur Excel VBA

Voir l'exemple suivant. Ajout de deux numéros est le nom de la fonction. Cette fonction renverra la somme de deux nombres passés en tant que arguments ( arg1 et arg2 La somme est stockée dans une variable nommée AddTwoNumber même que le nom de la fonction.

Fonction VBA AddTwoNumber

Pour créer une fonction personnalisée, suivez ces étapes :

  • Tout d'abord, activez le Éditeur VBA en appuyant sur Alt+F11 .
  • Ensuite, sélectionnez le classeur dans la fenêtre Projet fenêtre.
  • Troisièmement, choisissez Insérer et ensuite Module pour insérer un VBA Vous pouvez également utiliser un module de code existant, qui doit être un module de code standard. VBA module.

  • Ensuite, copiez et collez le code ci-dessous pour la fonction. Le nom de la fonction doit être unique pour ce classeur. Saisissez la liste des arguments (s'il y en a) entre parenthèses. Si la fonction n'utilise pas d'argument, l'option Éditeur VBA ajoute un ensemble de parenthèses vides.
 Function AddTwoNumber(arg1, arg2) 'Retourne la somme de deux nombres que vous avez fournis comme arguments AddTwoNumber = arg1 + arg2 End Function 
  • En outre, cette partie est importante. Insérez le VBA La valeur que vous voulez renvoyer à partir de cette fonction sera stockée dans une variable, une variable dont le nom est le même que le nom de la fonction.
  • Enfin, terminez la fonction par un Fin de la fonction .

Lire la suite : Comment utiliser la fonction définie par l'utilisateur de VBA (4 exemples appropriés)

Lectures similaires

  • 22 exemples de macros en Excel VBA
  • 20 conseils pratiques de codage pour maîtriser Excel VBA
  • Comment écrire du code VBA dans Excel (avec des étapes faciles)
  • Types de macros VBA dans Excel (guide rapide)

2. sous-programme Excel VBA

Dans l'exemple suivant, vous verrez comment le sous-programme de l'option Excel VBA Ici, le Sous lance le corps de la sous-routine. Le nom de la sous-routine est square_root. Dans le corps de la sous-routine, nous effectuons une tâche dans la cellule A2 La tâche consiste à effectuer la racine carrée dans la cellule A2 Cela signifie que si la cellule contient un nombre quelconque, le VBA d'Excel effectuera la racine carrée de cette cellule. L'option End Sub termine le corps de la sous-routine.

Pour créer un sous-routine, suivez les étapes suivantes :

  • Tout d'abord, activez le Éditeur VB (presse Alt+F11 ).
  • Ensuite, sélectionnez le classeur dans la fenêtre Projet fenêtre.
  • Troisièmement, choisissez Insérer et ensuite Module pour insérer un module VBA. Vous pouvez également utiliser un module de code existant. Le module de code doit être un module VBA standard.

  • Ensuite, saisissez le mot-clé SUB suivi du nom de la sous-routine.
  • En outre, insérez le VBA le code que vous voulez exécuter.
 Sub square_root() Range("C5").Value = Range("C4").Value ^ (1 / 2) End Sub 
  • Enfin, la sous-routine avec un End Sub .

Principales différences entre sous-programme et fonction dans Excel VBA

Après avoir exécuté le sous-programme et les fonctions séparément, nous pouvons conclure les différences dans le tableau ci-dessous.

Fonctions Sous-programmes
1) Retourne une valeur. 1) Effectue un ensemble de tâches mais ne renvoie pas de valeur.
2) Les fonctions sont appelées en utilisant une variable. 2) Peut être rappelé de n'importe où dans le programme dans de multiples types après la déclaration.
3) Peut être utilisé comme formule dans les feuilles de calcul. 3) Ne peuvent pas être utilisés directement dans les feuilles de calcul comme formules.
4) Nous pouvons utiliser les fonctions comme des formules dans les feuilles de calcul. Nous pouvons les exécuter plusieurs fois après avoir exécuté le code. 4) Pour trouver le résultat de la sous-routine Excel VBA, nous devons d'abord insérer une valeur dans la cellule souhaitée.
5) Syntaxe :

Fonction Nom_de_la_fonction()

//Set of codes

Fin de la fonction

5) Syntaxe :

Sub Sub_Name ()

//Set of codes

End Sub

Les choses à retenir

  • Le développeur onglet doit être activé avant d'utiliser ces méthodes.
  • On peut trouver Sous-programme sur Macros dans le Développeur tandis que les fonctions définies par l'utilisateur dans l'onglet Fonction en utilisant la recherche personnalisée.

Conclusion

Si vous avez encore des difficultés avec l'une de ces instructions ou si vous avez des divergences, faites-le nous savoir dans les commentaires. Notre équipe est prête à répondre à toutes vos questions. Pour tout problème lié à excel, vous pouvez visiter notre site web ExcelWIKI pour des solutions.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.