FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Tutoriel VBA Excel pour débutants : Créez des macros puissantes pour automatiser vos tâches

Les macros Excel vous font gagner un temps précieux en automatisant vos processus répétitifs. Cependant, l'enregistreur de macros est limité et sujet aux erreurs. VBA (Visual Basic for Applications) offre une puissance bien supérieure.

Avec VBA, vous contrôlez précisément les actions d'Excel et accédez à des fonctions avancées. Si vous utilisez Excel quotidiennement, maîtriser VBA est indispensable. Commençons par les bases.

Qu'est-ce que VBA ?

VBA (Visual Basic for Applications) est un langage de programmation intégré aux applications Microsoft, dont Excel. Visual Basic a été abandonné en 2008, mais VBA reste pleinement supporté et performant.

Conçu pour les non-programmeurs, VBA est intuitif. L'éditeur propose des suggestions contextuelles, complétions automatiques et une aide intégrée pour coder rapidement.

Cela dit, une période d'adaptation est nécessaire.

Avantages des macros VBA dans Excel

Pourquoi passer à VBA malgré sa courbe d'apprentissage ? Pour sa puissance inégalée.

Au lieu d'enregistrer des clics, VBA exploite l'ensemble des fonctions Excel. Une fois maîtrisé, il est plus rapide et précis : vous indiquez exactement quoi faire, sans ambiguïté.

Les macros VBA s'enregistrent et se partagent facilement, idéal pour les équipes.

Voici un exemple concret.

Exemple de macro VBA dans Excel

Notre feuille contient les noms d'employés, numéros de magasins et ventes trimestrielles.

Tutoriel VBA Excel pour débutants : Créez des macros puissantes pour automatiser vos tâches

Cette macro additionne les ventes par magasin et écrit les totaux en F2:F5. (Pour ouvrir l'éditeur VBA : Alt+F11).

Sub StoreSales()
    Dim Sum1 As Currency, Sum2 As Currency, Sum3 As Currency, Sum4 As Currency
    Dim Cell As Range
    For Each Cell In Range("C2:C51")
        If IsEmpty(Cell) Then Exit For
        If Cell.Offset(0, -1).Value = 1 Then
            Sum1 = Sum1 + Cell.Value
        ElseIf Cell.Offset(0, -1).Value = 2 Then
            Sum2 = Sum2 + Cell.Value
        ElseIf Cell.Offset(0, -1).Value = 3 Then
            Sum3 = Sum3 + Cell.Value
        ElseIf Cell.Offset(0, -1).Value = 4 Then
            Sum4 = Sum4 + Cell.Value
        End If
    Next Cell
    Range("F2").Value = Sum1
    Range("F3").Value = Sum2
    Range("F4").Value = Sum3
    Range("F5").Value = Sum4
End Sub

Complexe au premier regard ? Décomposons-la.

Déclarer la procédure (Sub)

"Sub StoreSales()" définit la macro. Les Subs exécutent des actions sans retour de valeur (contrairement aux Functions). Fermez par "End Sub".

Déclarer des variables

"Dim" déclare une variable, suivie de son type (ex. : Currency pour les montants monétaires). Ex. : "Dim Sum1 As Currency".

Consultez la documentation Microsoft pour tous les types.

Boucle For Each

Les boucles sont essentielles en programmation. Ici :

For Each Cell In Range("C2:C51")
    [actions]
Next Cell

Parcourt chaque cellule de C2:C51. "If IsEmpty(Cell) Then Exit For" arrête si vide.

Note : Une boucle Do While conviendrait, mais For Each illustre bien le concept.

Instructions If-Then-ElseIf

Cœur de la macro :

If Cell.Offset(0, -1).Value = 1 Then
    Sum1 = Sum1 + Cell.Value
ElseIf Cell.Offset(0, -1).Value = 2 Then
    Sum2 = Sum2 + Cell.Value
' etc.
End If

"Cell.Offset(0, -1)" cible la cellule gauche (numéro de magasin). Ajoute la valeur selon le magasin.

Écrire dans les cellules

Enfin :

Range("F2").Value = Sum1
' etc.

Assigne les totaux aux cellules.

Exécutez via l'onglet Développeur > Macros :

Tutoriel VBA Excel pour débutants : Créez des macros puissantes pour automatiser vos tâches

Assembler les briques VBA

La macro paraît complexe, mais sa logique est claire une fois décomposée. La pratique forge la maîtrise de la syntaxe.

Recherchez sur Google ou consultez la référence officielle Microsoft VBA. Avancez vers l'envoi d'emails, intégration Outlook ou infos système.


[]