Relancer une macro enregistrée ou installée

mug developpeur vba

Devenez développeur : notre initiation à VBA en 5 parties

  1. Découvrez la face cachée d'Excel : l'interface de programmation
  2. Créez votre première macro sans aucun code : enregistrez-la
  3. Installez et réutilisez une macro existante
  4. Prudence : sauvegardez vos fichiers avec macros !
  5. Relancez une procédure enregistrée ou installée

 

Dernière étape de notre tutoriel pour débuter avec VBA, voyons comment relancer nos procédures.
Des calculs simplifiés avec des fonctions personnalisées, des macros affectées à des boutons pour un traitement facilité. Découvrons toutes les techniques disponibles suivant le type de procédure.


 

Lancer une macro enregistrée ou une procédure Sub ‘classique’

Nous allons voir deux méthodes qui fonctionnent également pour relancer une procédure Sub ‘standard’. C’est-à-dire une procédure que nous avons installé dans un module comme Excel le fait avec une macro enregistrée. Les deux ont le même emplacement dans le projet VBA, on peut donc leur appliquer la même méthode.

Reprenons l’exemple du deuxième article de notre tutoriel. Nous avions enregistré une macro avec le retraitement d’une extraction de CRM.
Supposons maintenant que nous extrayons les données de la CRM toutes les semaines. Nous avons récupéré l’extraction hebdomadaire et nous l’avions recopié dans notre classeur. Comment lancer à nouveau le retraitement et laisser Excel travailler à notre place ?

 

Avec les commandes du ruban

Dans le ruban Développeur, on clique sur le bouton Macros. S’affiche alors la liste des macros disponibles dans le classeur.
On sélectionne alors RetraitementExtraction puis on clique sur Exécuter.

Executer macro menu developpeur ruban

On retrouve la même commande dans le ruban Affichage, bouton Macros > Afficher les macros.
Si on transfère le fichier à quelqu’un qui ne dispose pas du menu Développeur, c’est plus rapide que d’expliquer comment afficher l’onglet dans le ruban.

Executer macro menu affichage ruban

La procédure est reproduite, le résultat sur notre extraction est le même que celui enregistré.

 

Avec un bouton de développeur

Pour faire encore plus simple ou rendre la manipulation plus intuitive pour un autre utilisateur, on peut aussi ajouter un bouton.
Dans le ruban Développeur, on clique sur Insérer puis on choisit Bouton dans la section Contrôles de formulaire.

Inserer bouton developpeur controle formulaire

On dessine un rectangle à l’écran puis on choisit la macro à affecter à ce bouton.

Affecter macro bouton developpeur

On peut ensuite personnaliser le texte du bouton avec un clic droit.

Modification texte bouton developpeur

Maintenant, il ne reste plus qu’à cliquer dessus pour lancer la macro. Encore plus rapide que par le ruban !

 

Avec un bouton ‘customisé’

L’aspect du bouton Développeur est un peu terne et ne s’intègre pas forcément au reste du fichier. Heureusement, on peut faire quelque chose de plus sympa en utilisant n’importe quelle image ou dessin.
Dans le ruban Insertion, on clique sur le bouton Formes puis on dessine celle qu’on veut.

Insertion forme pour bouton lancer macro

Après un clic droit sur la forme, on choisit Affecter une macro puis, dans notre cas, on sélectionne la macro comme avec le bouton de développeur.

Affecter macro forme inseree

Enfin, customisons le bouton en modifiant les options de remplissage, contour… et en ajoutant un texte. Cette fois, on peut faire ce qu’on veut.

Bouton macro customise personnalise

Ça marche aussi avec une image. Il faut simplement choisir Images à la place de Formes dans le menu Insertion.

Insertion image pour bouton lancer macro

Avec les procédures de type Sub, les possibilités sont nombreuses. Voyons ce qu’il en est des autres procédures.

 

Procédures liées aux événements du classeur

Les procédures de type Workbook et Worksheet se déclenchent automatiquement lors de certains événements : changement de valeur ou de sélection, ouverture ou enregistrement du classeur…
Elles sont généralement prévues pour s’intégrer dans le cadre d’une utilisation normale du fichier. Pour les exécuter, il suffit de réaliser cet événement déclencheur.

 

Utiliser une fonction personnalisée

Les procédures de type Function renvoient uniquement un résultat, de la même manière qu’une fonction existante d’Excel.
On peut les utiliser dans une autre procédure VBA. Définir une fonction auparavant est utile si on doit y faire appel à de nombreuses reprises. Cela permet aussi de structurer le projet VBA dans son ensemble.

Mais la comparaison avec les fonctions Excel ne s’arrête pas au simple résultat. Une fonction personnalisée peut aussi être utilisée dans une feuille de calcul. C’est un moyen rapide de vérifier que le code est correct.

Reprenons l’exemple vu précédemment de la fonction qui inverse l’ordre des caractères d’un texte. Une fois la fonction copiée dans un module, elle peut être insérée directement dans le classeur.
Lorsqu’on saisit son nom, INVTXT, elle apparait dans la liste des fonctions disponibles.

Fonction personnalisee liste fonctions disponibles

Elle est simple puisqu’elle ne prend qu’un argument mais l’exemple ci-dessous nous montre qu’elle fait le travail !

Utilisation fonction personnalisee feuille calcul
 

C’est ici que se termine notre tutoriel pour débuter avec VBA sur Excel : que ce soit via l’enregistrement de macros ou via la réutilisation de procédures existantes. J’espère qu’il vous aura été utile et qu’il vous aura donné envie d’aller plus loin dans la programmation sur Excel.
N’hésitez pas à poser vos questions en commentaires. Vous pouvez aussi laisser vos propres conseils si vous en avez d’autres que nous n’aurions pas abordés.

 

Abonnez-vous à la newsletter

Illustration couverture ebook 100 trucs et astuces pour Excel-ler au travail

Et recevez gratuitement l'ebook 100 trucs et astuces pour Excel-ler au travail (5€ sur Amazon)

Votre adresse mail ne sera pas communiquée et vous pourrez vous désabonner à tout moment.

Taggé .Mettre en favori le Permaliens.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.