Comment créer une macro ou un script VBA dans Excel


Microsoft Excel permet aux utilisateurs d'automatiser les fonctionnalités et les commandes à l'aide de macros et de scripts Visual Basic pour Applications (VBA). VBA est le langage de programmation Excel utilise pour créer des macros. Il exécutera également des commandes automatisées en fonction de conditions spécifiques.

Les macros sont une série de commandes préenregistrées. Ils s'exécutent automatiquement lorsqu'une commande spécifique est donnée. Si vous avez des tâches dans Microsoft Excel que vous effectuez à plusieurs reprises, telles que la comptabilité, la gestion de projet ou la paie, l'automatisation de ces processus peut gagner beaucoup de temps.

Sous l'onglet Développeursur le Rubandans Excel , les utilisateurs peuvent enregistrer les clics de souris et les frappes (macros). Cependant, certaines fonctions nécessitent des scripts plus approfondis que les macros ne peuvent en fournir. C'est là que les scripts VBA deviennent un énorme avantage. Il permet aux utilisateurs de créer des scripts plus complexes.

Dans cet article, nous expliquerons les éléments suivants:

  • Activation des scripts et des macros
  • Comment créer une macro dans Excel
  • Exemple spécifique d'une macro
  • En savoir plus sur VBA
  • Créer un bouton pour commencer avec VBA
  • Ajouter Code pour donner la fonctionnalité du bouton
  • Cela a-t-il fonctionné?
  • Activation des scripts et des macros

    Avant de pouvoir créer macros ou scripts VBA dans Excel, vous devez activer l'onglet Développeurdans le menu Ruban. L'onglet Développeur n'est pas activé par défaut. Pour l'activer:

    • Ouvrez une feuille de calcul Excel.
    • Cliquez sur Fichier>Options>Personnaliser Ruban.
      • Cochez la case à côté de Developer.
        • Cliquez sur l'onglet Développeurdans le menu Ruban.
          • Ensuite, cliquez sur Sécurité des macroset cochez la case en regard de Activer toutes les macros (non recommandé; un code potentiellement dangereux peut s'exécuter).
          • Cliquez ensuite sur OK.
          • La raison pour laquelle les macros ne sont pas activées par défaut et sont accompagnées d'un avertissement est qu'il s'agit de code informatique pouvant contenir des logiciels malveillants.

            In_content_1 all: [300x250] / dfp: [640x360]->

            Assurez-vous que le document provient d'une source fiable si vous travaillez sur un projet partagé dans Excel et d'autres programmes Microsoft.

            Lorsque vous avez fini d'utiliser vos scripts et macros, désactivez tous macros pour empêcher le code potentiellement malveillant d’infecter d’autres documents.

            Créer une macro dans Excel

            Toutes les actions que vous effectuez dans Excel lors de l'enregistrement d'une macro y sont ajoutées.

            • Dans l'onglet Développeur, cliquez sur Enregistrer la macro.
              • Entrez un nom de macro, une touche de raccourciet une description.Les noms de macro doivent commencer par une lettre et ne doivent pas contenir d'espace. La touche de raccourci doit être une lettre.
              • Décidez où vous souhaitez stocker la macro à partir des options suivantes:

                • Classeur de macros personnelles: Cela créera un document Excel caché avec des macros stockées à utiliser avec tous les documents Excel.
                • Nouveau classeur: créera un nouveau document Excel pour stocker les macros créées.
                • Ce classeur: il ne sera appliqué qu'au document que vous êtes en train de modifier.
                • Une fois terminé, cliquez sur OK .

                  • Exécutez les actions que vous souhaitez automatiser. Lorsque vous avez terminé, cliquez sur Arrêter l'enregistrement.
                  • Lorsque vous souhaitez accéder à votre macro, utilisez le raccourci clavier que vous lui avez donné.
                  • Exemple spécifique d'une macro

                    Commençons par une simple feuille de calcul pour les clients et combien ils doivent. Nous allons commencer par créer une macro pour formater la feuille de calcul.

                    Supposons que vous décidiez que toutes les feuilles de calcul doivent utiliser un format différent, par exemple en mettant le prénom et le nom dans des colonnes distinctes.

                    Vous pouvez modifier cela manuellement. Ou vous pouvez créer un programme à l'aide d'une macro pour le formater automatiquement et correctement pour vous.

                    Enregistrer la macro

                    • Cliquez sur Enregistrer Macro. Appelons-le Format_Customer_Dataet cliquez sur OK.
                    • Pour obtenir la mise en forme que nous voulons, nous allons changer le nom de la première colonne en Prénom.
                    • Insérez ensuite une colonne à côté de A et appelez-la Nom.
                    • Mettez en surbrillance tous les noms dans la première colonne (qui incluent toujours le prénom et le nom) et cliquez sur Donnéesdans la navigation du ruban.
                    • Cliquez sur Texte vers les colonnes.
                      • Cochez Délimité>Suivant>Séparer par l'espace>Suivant>Terminer. Voir capture d'écran ci-dessous et comment les prénoms et noms ont été séparés par le processus ci-dessus.
                        • Pour formater le champ Solde dû, mettez en surbrillance les montants. Cliquez sur Accueil>Formatage conditionnel>Mettre en surbrillance les règles des cellules>Supérieur à>0.
                        • Cela mettra en évidence les cellules qui ont un équilibre dû. Nous avons ajouté quelques clients sans solde pour illustrer davantage la mise en forme.

                          • Revenez à Développeuret cliquez sur Arrêter l'enregistrement.
                          • Appliquer la macro

                            Let's Commencez avec la feuille de calcul d'origine avant d'enregistrer la macro pour la formater correctement. Cliquez sur Macros, sélectionnez et Exécuterla macro que vous venez de créer.

                            Lorsque vous exécutez une macro, tout le formatage est fait pour vous. Cette macro que nous venons de créer est stockée dans Visual Basic Editor.

                            Les utilisateurs peuvent exécuter des macros de différentes manières. Lisez Exécutez une macro pour en savoir plus.

                            En savoir plus sur VBA

                            Pour en savoir plus sur VBA, cliquez sur Macrodans le développeurlanguette. Trouvez-en un que vous avez créé et cliquez sur Modifier.

                            Le code que vous voyez dans l'encadré ci-dessus est ce qui a été créé lorsque vous avez enregistré votre macro.

                            C'est également ce que vous exécuterez si vous souhaitez formater d'autres feuilles de calcul de paiement client de la même manière.

                            Créer un bouton pour commencer avec VBA

                            En utilisant la même feuille de calcul ci-dessus avec les clients et combien ils doivent, créons un convertisseur de devises.

                            • Pour insérer un élément de bouton, accédez au Développeur onglet.
                            • Sélectionnez Bouton de commande ActiveXdans la liste déroulante à côté de Insérerdans la section Contrôles.
                              • Faites glisser le bouton n'importe où sur la feuille de calcul pour pouvoir y accéder facilement et le modifier plus tard si vous le souhaitez.
                                • Pour joindre le code, cliquez avec le bouton droit sur le bouton et sélectionnez Propriétés. Nous conserverons le nomen bouton de commandeet la légendeen convertir(il s'agit du texte du bouton).
                                • Ajouter du code pour donner la fonctionnalité du bouton

                                  Le codage VBA n'a pas lieu dans l'interface Excel. Cela se fait dans un environnement séparé.

                                  • Accédez à l'onglet Développeuret assurez-vous que le mode conceptionest actif.
                                    • Pour accéder au code du bouton que nous venons de créer, faites un clic droit dessus et sélectionnez Afficher le code.
                                      • En regardant le code dans la capture d'écran ci-dessous, notez le début (Private Sub) et la fin (End Sub) du code est déjà là.
                                        • Le code ci-dessous pilotera la procédure de conversion des devises.

                                        ActiveCell.Value = (ActiveCell * 1.28)

                                        Notre objectif dans cette section est de convertir la devise dans notre feuille de calcul. Le script ci-dessus reflète le taux de change de GBP à USD. La nouvelle valeur d'une cellule sera celle qui est actuellement multipliée par 1,28.

                                        La capture d'écran ci-dessous vous montre à quoi ressemble le code dans la fenêtre VBA après l'avoir inséré.

                                        • Accédez à Fichierdans la navigation supérieure et cliquez sur Fermer et revenir à Microsoft Excelpour revenir à l'interface principale d'Excel.
                                        • Cela at-il fonctionné?

                                          Avant de pouvoir tester votre code , vous devez d'abord désactiver le mode Création (cliquez dessus) pour éviter d'autres modifications et donner la fonctionnalité du bouton.

                                          • Tapez n'importe quel nombre dans votre feuille de calcul, puis cliquez sur Convertirbouton. Si la valeur de votre nombre augmente d'environ un quart, cela a fonctionné.
                                          • Pour cet exemple, j'ai mis le nombre 4 dans une cellule. Après avoir cliqué sur Convertir, le nombre est passé à 5,12. Comme 4 fois 1,28 est 5,12, le code a été exécuté correctement.

                                            Maintenant que vous savez comment créer une macro ou un script dans Excel, vous pouvez les utiliser pour automatiser une multitude d'actions dans Excel.

                                            Apprendre à créer des macros Excel pour automatiser les tâches

                                            Articles Similaires:


                                            13.12.2019