Comment créer une macro ou un script VBA dans Excel
- 3782
- 764
- Mohamed Brunet
Microsoft Excel permet aux utilisateurs d'automatiser les fonctionnalités et les commandes à l'aide de macros et de scripts Visual Basic for Applications (VBA). VBA est le langage de programmation que 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 faites à plusieurs reprises, comme la comptabilité, la gestion de projet ou la paie, l'automatisation de ces processus peut gagner beaucoup de temps.
Table des matières- Mettez une tique dans la boîte à côté de Développeur.
- Clique sur le Développeur onglet de la Ruban menu.
- Ensuite, cliquez sur Macro-sécurité et cochez la boîte à côté de Activer toutes les macros (non recommandées; le code potentiellement dangereux peut fonctionner).
- Puis clique D'ACCORD.
La raison pour laquelle les macros ne sont pas activées par défaut et viennent avec un avertissement est qu'ils sont du code informatique qui pourrait contenir des logiciels malveillants.
Assurez-vous que le document provient d'une source de confiance si vous travaillez sur un projet partagé dans Excel et d'autres programmes Microsoft.
Lorsque vous avez terminé d'utiliser vos scripts et macros, désactivez toutes les macros pour empêcher le code potentiellement malveillant d'infecter d'autres documents.
Créer une macro dans Excel
Toutes les actions que vous prenez 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, un Touche de raccourci, et un Description. Les noms de macro doivent commencer par une lettre et ne peuvent avoir aucun espace. La clé de raccourci doit être une lettre.
Décidez où vous souhaitez stocker la macro à partir des options suivantes:
- Classeur de macro personnel: 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: Cela ne sera appliqué qu'au document que vous modifiez actuellement.
Une fois terminé, cliquez D'ACCORD.
- Exécuter les actions que vous souhaitez automatiser. Lorsque vous avez terminé, cliquez Arrête d'enregistrer.
- 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 tablette de calcul pour les clients et combien ils doivent. Nous commencerons par créer une macro pour formater la feuille de calcul.
Supposons que vous décidez que toutes les feuilles de calcul devraient utiliser un format différent, comme mettre le nom de premier et de famille dans des colonnes distinctes.
Vous pouvez changer manuellement cela. Ou vous pouvez créer un programme à l'aide d'une macro pour le formater automatiquement correctement pour vous.
Enregistrer la macro
- Cliquer sur Enregistrer la macro. Appelons ça Format_customer_data et cliquer D'ACCORD.
- Pour obtenir le formatage que nous voulons, nous changerons le premier nom de colonne en Prénom.
- Puis insérez une colonne à côté de A et appelez-la Nom de famille.
- Mettez en surbrillance tous les noms de la première colonne (qui incluent toujours le nom et le nom de famille), et cliquez sur Données de la navigation du ruban.
- Cliquer sur Texte aux colonnes.
- Cocher Délimité > Suivant > Séparé par l'espace > Suivant > Finir. Voir la capture d'écran ci-dessous et comment les prénoms et les noms de famille ont été séparés par le processus ci-dessus.
- Pour formater le champ d'échéance de l'équilibre, mettez en surbrillance les montants. Cliquer sur Maison > Mise en forme conditionnelle > Mettre en évidence les règles cellulaires > Plus grand que > 0.
Cela mettra en évidence les cellules qui ont un équilibre dû. Nous avons ajouté quelques clients sans équilibre en raison de l'illustrer davantage le formatage.
- Revenir à Développeur et cliquer Arrête d'enregistrer.
Appliquer la macro
Commençons par la feuille de calcul d'origine avant d'enregistrer la macro pour la formater correctement. Cliquer sur Macros, sélectionner et Courir La 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 le Éditeur de base visuel.
Les utilisateurs peuvent exécuter des macros de plusieurs manières différentes. Lire Exécuter une macro pour en savoir plus.
En savoir plus sur VBA
Pour en savoir plus sur VBA, cliquez sur Macro du Développeur languette. Trouver un que vous avez créé et cliquer Modifier.
Le code que vous voyez dans la case ci-dessus est ce qui a été créé lorsque vous avez enregistré votre macro.
C'est aussi ce que vous courerez lorsque vous souhaitez formater d'autres feuilles de calcul de paiement client de la même manière.
Créez 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 à Développeur languette.
- Sélectionner Bouton de commande activex de la liste déroulante à côté de Insérer dans le Contrôles section.
- Faites glisser le bouton n'importe où sur la feuille de calcul afin que vous puissiez facilement y accéder et la modifier plus tard si vous voulez.
- Pour joindre le code, cliquez avec le bouton droit sur le bouton et sélectionnez Propriétés. Nous garderons le Nom comme Bouton de commande et le Légende pour Convertir (c'est le texte du bouton).
Ajouter du code pour donner la fonctionnalité du bouton
Le codage VBA ne se déroule pas dans l'interface Excel. Cela se fait dans un environnement séparé.
- Aller au Développeur onglet et assurez-vous Mode de conception c'est actif.
- Pour accéder au code du bouton que nous venons de créer, cliquez avec le bouton droit sur elle et sélectionnez Afficher le code.
- En regardant le code dans la capture d'écran ci-dessous, remarquez le début (Sous-marin privé) et fin (Sub-Sub) du code est déjà là.
- Le code ci-dessous stimulera la procédure de conversion de devises.
Cellule active.Valeur = (activeCell * 1.28)
Notre objectif dans cette section est de convertir la monnaie de notre feuille de calcul. Le script ci-dessus reflète le taux de change de GBP à USD. La nouvelle valeur d'une cellule sera ce qui est actuellement multiplié 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é .
- Aller à Déposer dans la navigation supérieure et Cliquez sur Fermer et retournez à Microsoft Excel Pour revenir à l'interface principale Excel.
Est-ce que ça a fonctionné?
Avant de pouvoir tester votre code, vous devez d'abord désactiver le mode de conception (cliquez dessus) pour éviter de nouvelles modifications et donner la fonctionnalité du bouton.
- Tapez n'importe quel numéro dans votre feuille de calcul, puis cliquez sur le Convertir bouton. Si la valeur de votre nombre augmente d'environ un quart, cela a fonctionné.
Pour cet exemple, j'ai mis le numéro 4 dans une cellule. Après avoir cliqué Convertir, Le nombre a changé à 5.12. Depuis 4 fois 1.28 est 5.12, le code a été effectué correctement.
Maintenant que vous comprenez comment créer une macro ou un script dans Excel, vous pouvez les utiliser pour automatiser une multitude d'actions dans Excel.