Fiches pratiques · Data, BI & données de référence · VBA / automatisation

VBA : macros, variables, boucles

Logiciel

Programmer des automatisations dans Excel.

Principe

VBA (Visual Basic for Applications) permet d'automatiser des tâches répétitives : enregistrement de macros, puis écriture de procédures avec variables, boucles (For, Do While), conditions (If), manipulation d'objets (Workbooks, Worksheets, Range). On l'utilise de moins en moins pour la préparation de données (Power Query est plus robuste) mais il reste utile pour l'automatisation de tâches et d'interfaces.

Comprendre pas à pas

1. La situation

Chaque matin, un approvisionneur colore à la main les lignes en retard de son fichier de suivi, puis les copie dans un onglet « Relances ». Cela lui prend 20 minutes. Question : comment automatiser une tâche répétitive dans Excel avec VBA ?

2. Une macro simple

ÉlémentCode
DéclarerSub Relances()
Dim i As Long, n As Long
Boucler sur les lignesFor i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Tester une conditionIf Cells(i, 5).Value < Date And Cells(i, 6).Value = "" Then
AgirRows(i).Copy Sheets("Relances").Rows(n + 2): n = n + 1
FermerEnd If
Next i
End Sub

3. L'idée

VBA (Visual Basic for Applications) automatise Excel : une macro répète des actions (boucles, conditions, copies, mises en forme). L'enregistreur de macros donne un premier code à adapter. VBA reste utile pour les automatisations locales ; Power Query et les formules dynamiques couvrent aujourd'hui une partie de ces besoins sans code.

Objets

Classeur, feuille, plage, cellule.

Variables

Déclarées avec Dim ; Option Explicit en tête de module.

Boucles et conditions

For… Next, If… Then… End If.

4. La mise en place

Enregistrer. L'enregistreur capture la copie d'une ligne : point de départ du code.

Généraliser. Ajout de la boucle sur toutes les lignes et de la condition « date dépassée et non reçue ».

Bouton. Un bouton sur la feuille lance la macro.

Résultat. 20 minutes chaque matin → 2 secondes ; plus d'oubli.

5. À vous de jouer : vos bases VBA

6. Ce qu'il faut retenir

  • Une macro répète des actions : boucles, conditions, copies.
  • Partir de l'enregistreur, puis généraliser.
  • Préférer Power Query ou les formules quand c'est possible.

Mise en œuvre

Acteurs
Utilisateurs avancés
Durée
Apprentissage de quelques semaines
Livrables
Usage maîtrisé, gains mesurés
  1. Enregistrer une macroPour découvrir le code.
  2. Nettoyer et généraliserVariables, boucles, conditions.
  3. Gérer les erreursMessages clairs.
  4. DocumenterCommentaires et mode d'emploi.

Exemple d'application

Macro qui génère et envoie par Outlook les relances fournisseurs à partir de la liste des commandes en retard : 2 heures gagnées chaque semaine.

Points de vigilance

  • Code non documenté, dépendant d'une seule personne