VBA d'Excel : 3 exemples pratiques pour automatiser vos tâches efficacement

Introduction :

VBA (Visual Basic for Applications) est un langage de programmation puissant intégré à Microsoft Excel. Il permet aux utilisateurs d'automatiser des tâches répétitives, d'optimiser des processus et de gagner en productivité. Dans cet article, nous allons explorer trois exemples concrets d'application de VBA dans Excel, en détaillant chaque étape du processus pour une compréhension facile. Les exemples abordés seront les suivants :



1. Création d'un rapport automatisé

2. Gestion dynamique des données

3. Validation des entrées utilisateur


Exemple 1 : Création d'un rapport automatisé


Imaginons que vous ayez une feuille de calcul contenant des données brutes et que vous souhaitez créer un rapport détaillé à partir de ces données. Voici comment utiliser VBA pour automatiser cette tâche :


Étape 1 : Ouvrir l'éditeur VBA

Pour accéder à l'éditeur VBA, appuyez sur `ALT + F11` dans Excel. Cela ouvrira la fenêtre de l'éditeur.


Étape 2 : Insérer un nouveau module

Cliquez avec le bouton droit sur "Feuille de calcul" dans l'Explorateur de projets et sélectionnez "Insérer" -> "Module". Cela créera un nouveau module où nous placerons notre code.


Étape 3 : Écrire le code VBA

Dans le module, écrivez le code qui sélectionne les données, les traite et génère le rapport souhaité. Assurez-vous d'ajouter des commentaires pour expliquer chaque partie du code. Voici un exemple de code :


Sub CreerRapportAutomatise()

    ' Sélectionner les données brutes

    Sheets("Feuil1").Select

    Range("A1:D100").Select

    

    ' Copier les données sélectionnées dans une nouvelle feuille

    Sheets.Add After:=ActiveSheet

    ActiveSheet.Name = "Rapport"

    Selection.Copy

    Sheets("Rapport").Select

    Range("A1").Select

    ActiveSheet.Paste

    

    ' Appliquer des mises en forme et créer le rapport

    ' ... (code de mise en forme supplémentaire)

    

    ' Afficher un message de confirmation

    MsgBox "Le rapport a été créé avec succès !"

End Sub



Étape 4 : Exécuter le code

Appuyez sur `F5` pour exécuter le code. Vous verrez maintenant un nouveau rapport généré dans une feuille appelée "Rapport".


Exemple 2 : Gestion dynamique des données


Supposons que vous avez une liste de produits dans une feuille de calcul et que vous souhaitez créer une liste déroulante dynamique pour sélectionner un produit spécifique et afficher ses détails. Voici comment utiliser VBA pour cela :


Étape 1 : Ouvrir l'éditeur VBA

Accédez à l'éditeur VBA en utilisant la combinaison de touches `ALT + F11`.


Étape 2 : Insérer un nouveau module

Créez un nouveau module dans l'éditeur VBA comme expliqué précédemment.


Étape 3 : Écrire le code VBA

Voici un exemple de code VBA pour générer une liste déroulante et afficher les détails du produit sélectionné :


Sub CreerListeDeroulante()

    Dim ws As Worksheet

    Dim rngProduits As Range

    Dim cel As Range

    

    Set ws = ThisWorkbook.Sheets("Feuil2")

    Set rngProduits = ws.Range("A2:A100")

    

    ' Créer une liste déroulante dans la cellule A1

    With ws.Range("A1").Validation

        .Delete

        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _

        Operator:=xlBetween, Formula1:=Join(Application.Transpose(rngProduits.Value), ",")

    End With

    

    ' Afficher les détails du produit sélectionné

    Set cel = ws.Range("A1")

    ws.Range("B1").Value = cel.Offset(0, 1).Value

    ws.Range("B2").Value = cel.Offset(0, 2).Value

    ws.Range("B3").Value = cel.Offset(0, 3).Value

End Sub


Étape 4 : Exécuter le code

Appuyez sur `F5` pour exécuter le code. Vous verrez maintenant une liste déroulante dans la cellule A1, et les détails du produit sélectionné seront affichés dans les cellules B1, B2 et B3.


Exemple 3 : Validation des entrées utilisateur


Supposons que vous avez une feuille de calcul contenant des données et que vous souhaitez ajouter une validation pour éviter les erreurs de saisie utilisateur. Voici comment utiliser VBA pour cela :


Étape 1 : Ouvrir l'éditeur VBA

Accédez à l'éditeur VBA en utilisant la combinaison de touches `ALT + F11`.


Étape 2 : Insérer un nouveau module

Créez un nouveau module dans l'éditeur VBA comme expliqué précédemment.


Étape 3 : Écrire le code VBA

Voici un exemple de code VBA pour valider les entrées utilisateur et afficher un message d'erreur en cas de saisie incorrecte :


Sub ValiderSaisie()

    Dim ws As Worksheet

    Dim rng As Range

    Dim cel As Range

    

    Set ws = ThisWorkbook.Sheets("Feuil3")

    Set rng = ws.Range("C2:C100") ' Plage où la validation est appliquée

    

    For Each cel In rng

        With cel.Validation

            .Delete ' Supprimer les anciennes validations

            .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, Operator:= _

            xlBetween, Formula1:="0", Formula2:="1000" ' Valider les nombres entiers entre 0 et 1000

            .ErrorMessage = "Saisie invalide ! Entrez un nombre entre 0 et 1000."

            .ShowInput = True

            .ShowError = True

        End With

    Next cel

End Sub


Étape 4 : Exécuter le code

Appuyez sur `F5` pour exécuter le code. Maintenant, les utilisateurs ne pourront saisir que des nombres entiers entre 0 et 1000 dans la plage spécifiée, sinon un message d'erreur s'affichera.


Conclusion :


VBA est un outil puissant qui permet d'automatiser des tâches dans Microsoft Excel. Nous avons exploré trois exemples pratiques d'utilisation de VBA pour créer un rapport automatisé, gérer dynamiquement des données et valider les entrées utilisateur. En suivant les étapes détaillées et en comprenant le code fourni, vous pouvez tirer parti de VBA pour améliorer votre efficacité dans Excel.


N'hésitez pas à expérimenter davantage avec VBA et à appliquer ces exemples dans vos propres projets. Bonne automatisation !


Si vous souhaitez un autre exemple d'utilisation des VBA dans l'ingénierie , je vous conseille l'article résoudre une équation à itération avec les macros Excel

0 Commentaires