Visual Basic For Applications
Nos petites astuces VBA !
Quelques trucs qui pourront vous être bien utiles lorsque vous programmez avec Excel …
Fiabilité, rapidité, confort de lecture
Vous trouverez sur cette page quelques astuces VBA que vous pouvez utiliser dans vos codes pour vos fichiers Excel.
Ils concernent la fiabilité du code, ses performances, ou bien même le confort de lecture du programme. En esperant que nos astuces VBA puissent vous être utiles.
Fiabiliser votre code VBA
Forcez-vous à déclarer toute vos variables VBA. Cela peut paraître contraignant, mais finalement il n’y a que des avantages :
- Les erreurs seront plus facilement identifiées,
- Le code sera plus propre chacune des variables étant clairement définies,
- Votre macro VBA sera plus facilement modifiable et adaptable.
Ils existent deux solutions vous obligeant de déclarer toutes les variables :
Option Explicit
Ajoutez l’instruction « option explicit » en début de chacun de vos modules VBA. Cette commande vous obligera à déclarer toutes vos variables. Si une variable n’est pas déclaré, un message d’erreur s’affichera lorsque le code sera lancé.
Option explicit |
Option explicit par défaut
Une autre astuce VBA est de rendre cette mention par défaut. Pour ce faire, il suffit dans la fenêtre de l’éditeur, d’ouvrir le menu options (barre des menus / outils) puis de cocher la case Déclaration des variables obligatoire. La commande sera ensuite automatiquement intégrée à vos modules.
Rapidité
Mise à jour de l’écran
Pour rendre vos macros un peu plus rapides, utilisez la commande ci-dessous. Grâce à elle, vous ne verrez plus chaques actions de votre macro et votre écran restera fix.
Inscrivez ce bout de code au début de votre macro ou de votre module pour qu’il fonctionne.
Application.ScreenUpdating = False |
Désactiver les alertes
Dans le même esprit, le code ci-dessous désactive les alertes qui pourraient interompre votre code. Il peut notamment être utilisé si vous devez aller récupérer une info dans un fichier et refermer ce même fichier : le message vous demandant si vous souhaitez enregistrer le fichier n’apparaîtra pas et votre code pourra continuer.
La aussi écrivez le bout de code au début de votre macro.
Application.DisplayAlerts = False |
Les calculs automatiques
Si votre macro VBA va modifier des données qui sont utilisées par des formules, Excel va effectuer les calculs de vos cellules en même temps que la macro tourne.
Pour éviter à votre ordinateur de tout faire en même temps et donc de ralentir, inscrivez les deux mentions ci-dessous. La 1ère désactive les calculs automatiques et la seconde les réactive.
Application.Calculation = xlCalculationManual 'inscrire au début de votre code. |
Application.Calculation = xlCalculationAutomatic 'inscrire à la fin de votre macro. |
Confort de lecture de votre code VBA
Plus votre code sera facile à lire, plus il vous sera facile de le modifier et de l’améliorer. Nous vous proposons deux petites astuces pour améliorer le confort de lecture de votre macro.
Eviter les lignes de code à rallonge
Cette petite astuce est très simple. Parfois vous allez vous retrouvez avec des lignes de code particulièrement longues, notamment lorsque vous utilisez la fonction IF / AND / OR / END IF avec plusieurs conditions.
Pour faciliter la lecture, utilisez le fameux underscore « _ » pour pouvoir répartir sur plusieurs lignes une même commande.
IF Day = "Monday"_ AND Month = "November"_ AND Year = 2017 THEN END IF |
Les couleurs de l’éditeur
Peu de couleurs sont utilisées dans l’éditeur ne permettant pas de distinguer rapidement les différentes parties d’un même code.
Pour personnaliser les couleurs et rendre le code plus attractif il suffit de passer par Outils > Options > Format de l’éditeur. Vous pourrez ainsi fixer vos propres couleurs afin de bien faire ressortir les différents éléments.
Consulter le prochain article pour découvrir nos conseils pour faire vos premiers pas avec VBA.