Constructeur de procédures

Le générateur de procédures (ALT P) permet de générer rapidement une procédure avec des paramètres spécifiques (mise à jour de l’écran, etc.). Vous pouvez enregistrer vos paramètres de procédure par défaut afin de gagner du temps lors de la rédaction de nouvelles procédures.

Sortie :

Cas d’utilisation
- Créez rapidement des sous-procédures ou des fonctions avec les paramètres souhaités.
- Sauvegarder les paramètres pour une utilisation ultérieure.
Enregistrer les paramètres par défaut
Pour enregistrer vos paramètres actuels par défaut (afin d’y accéder facilement à l’avenir), cliquez sur le bouton en bas à droite de l’outil de construction :

Description des paramètres
Vous trouverez ci-dessous une description des paramètres disponibles avec le générateur de procédures.
Fonctions et sous-fonctions
Lors du codage (VBA ou tout autre langage), le code est généralement stocké dans des procédures. Les procédures ne sont que des blocs de code qui peuvent être appelés (exécutés). Vous êtes probablement familier avec le concept d’enregistrement d’une macro dans Excel. Lorsque vous enregistrez une macro, vous créez en fait une procédure VBA. Il existe deux types de procédures en VBA : Les sous-routines (Subs) et les fonctions. Les sous-programmes et les fonctions présentent trois différences principales :
- Les fonctions renvoient une valeur
- Les fonctions peuvent être utilisées dans les formules Excel
- Les fonctions ne peuvent être appelées que par d’autres procédures (ou formules Excel). Il n’est pas possible d’assigner une fonction à un bouton de commande ou d’y accéder via la liste des macros.
Les fonctions et les sous-fonctions terminées se présentent comme suit :

Comme les fonctions renvoient des valeurs, vous devez indiquer à VBA le type de valeur à attendre. Remarquez que nous déclarons ci-dessus que la fonction est une valeur booléenne (VRAI ou FAUX) :
Fonction Ex_Function() As Boolean
Au lieu de cela, vous pouvez déclarer une fonction comme un type de variable qui acceptera tous les types de valeurs :
Fonction Ex_Function() As Variant
Le générateur de procédures définit toutes les fonctions comme étant de type variable.
Vous pouvez alterner entre Sub et Function ici :

Nom et description
Il est important de nommer les procédures de manière descriptive et d’ajouter des commentaires pour décrire ce que fait une procédure. Votre code peut vous sembler logique aujourd’hui, mais il peut ne pas l’être pour quelqu’un d’autre (y compris pour votre futur utilisateur). La meilleure pratique consiste à ajouter des commentaires pour chaque procédure que vous créez.
Ajoutez des noms et des commentaires ici :

Privé ou public (avancé)
Par défaut, les procédures sont accessibles à partir de la liste des macros (sous uniquement) et peuvent être appelées par n’importe quelle autre procédure. La déclaration Private cache la procédure de la liste des macros et la rend uniquement accessible à partir du module de code actuel (note : techniquement, vous pouvez contourner ce problème en utilisant Application.Run).
Pour effectuer la déclaration Private, ajoutez Private devant le nom de la procédure :
Private Sub Ex_Sub
Vous pouvez également déclarer des modules entiers comme étant « privés ». Pour ce faire, ajoutez Private Module au début de votre module de code :
Module privé
Lorsqu’un module entier est marqué comme privé, toutes les procédures sont masquées dans la liste des macros, mais elles peuvent être facilement référencées à partir d’autres modules.
Définissez ici Public ou Privé :

Paramètres
Toutes les applications (Excel, PowerPoint, Outlook, etc.) disposent de paramètres au niveau de l’application. Certains de ces paramètres sont très importants pour le codage VBA. Important : les paramètres au niveau de l’application sont indépendants des procédures. Ils ne sont pas réinitialisés manuellement à la fin d’une procédure. Au lieu de cela, ils doivent être à nouveau modifiés manuellement lorsque vous le souhaitez.
Le générateur de procédures permet de définir les paramètres suivants au niveau de l’application :

Note : « Afficher une boîte de message après achèvement » n’est pas un paramètre de l’application, nous l’aborderons dans la section suivante.

Désactiver la mise à jour de l’ écran – L’écran ne sera pas actualisé pendant l’exécution de la procédure. Cela permet de réduire considérablement le temps de traitement.
Désactiver les calculs automatiques – Il s’agit d’un paramètre Excel qui désactive les calculs automatiques. Cela permet d’accélérer considérablement le temps de traitement.
Désactiver les alertes – Les messages d’avertissement et les invites ne seront pas affichés à l’utilisateur. Au lieu de cela, VBA traitera l’action par défaut.
Désactiver les événements – Les événements sont des « déclencheurs » qui peuvent entraîner l’exécution du code (par exemple, ouverture du classeur, activation de la feuille, changement de cellule, etc.) Si votre classeur comporte des événements, vous voudrez probablement désactiver les événements pendant l’exécution de votre code afin d’éviter tout comportement indésirable (y compris les boucles sans fin).
Boîte de message à la fin de la procédure – Pour les procédures dont l’exécution prend plus de quelques secondes, il est souvent judicieux d’afficher une boîte de message à la fin de la procédure. L’utilisateur est ainsi averti que la procédure est terminée. Pour nos clients, nous mettons généralement en place des boîtes de message d’alerte pour toutes les procédures dont l’exécution dure plus de 15 secondes.
Gestion des erreurs – Par défaut, VBA interrompt l’exécution du code s’il rencontre une erreur et invite l’utilisateur à « déboguer » le code. Cela est souhaitable lors des tests et du développement. Cependant, il existe de nombreux scénarios dans lesquels il est souhaitable de gérer les erreurs d’une autre manière.
La gestion des erreurs est définie au niveau de la procédure. Il ne s’agit pas d’un paramètre au niveau de l’application. Par conséquent, toute procédure nécessitant une gestion des erreurs autre que celle par défaut doit faire l’objet d’une déclaration de gestion des erreurs :
- On Error Resume Next (Reprendre la ligne suivante en cas d’erreur) : VBA continue en sautant la ou les lignes contenant des erreurs et passe à la ligne de code suivante.
- On Error Goto Error_Handle (En cas d’erreur, aller à Error_Handle) : En cas d’erreur, VBA passe à une section définie de la procédure (« Error_Handle » dans ce cas). Cette fonction est utile pour afficher une boîte de message en cas d’erreur, pour répéter/essayer à nouveau ou pour sauter une section de code.
- Sur erreur Goto End: Il s’agit en fait du même paramètre que le précédent, sauf qu’ici, « aller à » va à une section à la fin de la procédure.
Pour rétablir la gestion des erreurs par défaut, entrez ce qui suit :
Sur erreur Goto 0
Ceci est souhaitable pour les tests et le développement. Cependant, il existe de nombreux scénarios dans lesquels il est souhaitable de gérer les erreurs d’une autre manière.
Remarque : la « meilleure pratique » consiste à éviter d’autoriser intentionnellement des erreurs et d’utiliser la gestion des erreurs pour les traiter. Vous devriez plutôt utiliser un code plus intelligent pour éviter de générer des erreurs VBA en premier lieu.
Constructeur de procédures : Gestion des erreurs :

Commencez à automatiser Excel
