Comment exécuter une macro dans Excel ?
Visual Basic pour Applications (VBA) est un langage de programmation intégré à Microsoft Excel, ainsi qu’à d’autres applications Microsoft Office telles que Word et Access. Le code VBA dans Excel est important pour plusieurs raisons :
Importance du code VBA dans Excel
Automatisation des tâches répétitives
VBA permet aux utilisateurs d’automatiser des tâches répétitives et chronophages dans Excel. Cela peut inclure tout, depuis la manipulation des données, le formatage et la génération de rapports jusqu’aux calculs complexes. En écrivant du code VBA, vous pouvez créer des macros pour effectuer ces tâches d’un simple clic sur un bouton.
Fonctionnalité améliorée :
VBA permet aux utilisateurs d’étendre les fonctionnalités d’Excel au-delà de ses fonctionnalités intégrées. Vous pouvez créer des fonctions personnalisées, des formulaires utilisateur et des boîtes de dialogue pour interagir avec les utilisateurs et offrir une expérience plus conviviale.
Analyse des données et rapports :
Avec VBA, vous pouvez développer des outils sophistiqués d’analyse de données et de reporting. Cela peut inclure l’automatisation du processus d’importation des données, leur nettoyage et leur traitement, ainsi que la génération de rapports et de tableaux de bord complets.
Intégration avec d’autres applications :
VBA facilite l’intégration entre Excel et d’autres applications Microsoft Office, ainsi qu’avec des applications externes. Ceci est particulièrement utile lorsque vous devez transférer des données entre différents outils logiciels ou automatiser des processus impliquant plusieurs applications.
Gestion des erreurs et débogage :
VBA offre des capacités robustes de gestion des erreurs, vous permettant d’écrire du code qui gère les erreurs avec élégance et fournit des messages d’erreur significatifs. Cela facilite le dépannage et le débogage de votre code.
Et de nombreuses choses peuvent être réalisées avec VBA. Écrire un code VBA pour les débutants peut être un peu difficile, mais voici comment procéder.
1. Exécutez une macro à partir de la liste
Depuis l’ onglet Développeur , vous pouvez accéder à la liste des MACROS, que vous avez dans votre classeur ou dans PERSONAL.XLSB. Pour exécuter une macro dans Excel, vous pouvez suivre les étapes ci-dessous :
- Cliquez sur le bouton macro de l’onglet « Développeur » et ouvrez la liste des macros.
- Dans cette liste de MACROS, vous aurez toutes les macros que vous avez dans les classeurs ouverts, y compris le classeur de macros personnelles.
- Sélectionnez simplement la macro que vous souhaitez exécuter et cliquez sur le bouton « EXÉCUTER ».
Lorsque vous cliquez sur le bouton Exécuter, il exécute la macro et ferme la boîte de dialogue.
2. Exécutez une macro avec une touche de raccourci
Vous pouvez également exécuter une macro à l’aide d’une touche de raccourci clavier. Habituellement, lorsque vous enregistrez une macro , il vous demande de définir une touche de raccourci que vous pouvez utiliser pour exécuter cette macro.
Et si vous écrivez une macro, vous pouvez définir une touche de raccourci à partir de la liste des macros.
- Sélectionnez le nom de la macro pour laquelle vous souhaitez définir la touche de raccourci et cliquez sur les options.
- Après cela, cliquez dans la zone de saisie et appuyez sur la touche de raccourci que vous souhaitez définir.
3. Ajouter un bouton macro à la barre d’outils d’accès rapide
Vous pouvez également ajouter un bouton à la barre d’outils Accès rapide pour exécuter une macro. Vous pouvez utiliser les étapes ci-dessous :
- Tout d’abord, cliquez sur la petite liste déroulante que vous avez sur la barre d’outils d’accès rapide et sélectionnez plus de commandes, et cela vous amènera aux options réelles pour personnaliser la barre d’outils d’accès rapide.
- Maintenant, à partir d’ici, sélectionnez les macros de la commande vérité et sélectionnez la macro que vous souhaitez ajouter, après cela, cliquez sur le bouton Ajouter et il ajoutera cette macro pour faire la barre d’outils d’accès rapide.
- À la fin, cliquez sur OK.
Et vous aurez un bouton pour la macro que vous avez ajoutée.
4. Ajouter une macro à une forme
Disons que vous avez un code VBA que vous devez utiliser fréquemment dans votre travail. Dans cette situation, vous pouvez créer un bouton et lui attribuer cette macro.
- Tout d’abord, insérez une forme simple à partir de l’onglet Insertion ➜ Illustrations ➜ Formes. Sélectionnez l’une des formes que vous souhaitez utiliser comme bouton.
- Après cela, faites un clic droit sur cette forme et sélectionnez « Attribuer une macro ».
- Maintenant, dans la liste des macros, sélectionnez la macro que vous souhaitez attribuer à la forme.
Désormais, chaque fois que vous cliquez sur cette forme, la macro que vous avez attribuée s’exécute.
5. Affecter une macro à un bouton de contrôle de formulaire
Outre l’utilisation d’une forme, vous pouvez également utiliser un bouton de contrôle pour exécuter une macro.
- Tout d’abord, allez dans l’onglet Développeur et dans le groupe de contrôles, puis cliquez sur insérer. Et dans la liste déroulante d’insertion, cliquez sur le bouton pour l’insérer.
- Après cela, il vous montrera la liste des macros à partir de laquelle vous pourrez la sélectionner.
- Une fois que vous avez sélectionné la macro et cliqué sur OK, vous obtiendrez un bouton dans la feuille de calcul (vous pouvez modifier le texte du bouton pour lui donner un nom significatif).
6. Ouvrir et fermer un classeur
Vous pouvez également créer une macro à exécuter lors de l’ouverture et de la fermeture d’un classeur. Cela signifie que lorsque vous ouvrez ou fermez un classeur, la macro que vous avez attribuée sera exécutée. Pour cela, vous devez utiliser « auto_open » et « auto_close ».
Supposons que vous souhaitiez attribuer une macro à exécuter lors de l’ouverture du classeur. Vous devez utiliser auto_open comme nom de cette macro.
Sub auto_open()
Range("A1").Value = Now
End Sub
Maintenant, ce micro s’exécutera lorsque vous ouvrirez le classeur et saisirez la date actuelle, puis saisirez la cellule A1 de la feuille active.
De la même manière, vous pouvez également utiliser « auto_close » pour créer cette macro lors de la fermeture du classeur.
7. Activer et désactiver une feuille de travail
Tout comme le classeur peut également exécuter une macro sur l’activation et la désactivation d’une feuille de calcul. Et dans ce cas, vous devez ajouter cette macro dans la fenêtre de code de cette feuille de calcul.
- Tout d’abord, faites un clic droit sur l’onglet de la feuille de calcul et cliquez sur « Afficher le code ».
- Maintenant, dans la fenêtre de code, sélectionnez la feuille de calcul dans le menu déroulant de gauche. Le moment où vous avez choisi de désactiver ; vous obtiendrez un nouveau sous avec le nom « Worksheet_Deactivate ».
- Vous devez maintenant ajouter le code dans cette procédure que vous souhaitez exécuter lorsque vous désactivez la feuille de calcul.
Private Sub Worksheet_Deactivate()
Range(“A1”).Value = Now
End Sub
Et si vous souhaitez exécuter une macro lorsque vous activez une feuille de calcul, sélectionnez activer au lieu de désactiver dans la liste déroulante.
Private Sub Worksheet_Activate()
Range(“A1”).Value = Now
End Sub
8. Exécuter une macro lors d’un changement dans la feuille de calcul
Vous pouvez également exécuter une macro lorsque vous apportez des modifications à une feuille de calcul. Par exemple, lorsque vous saisissez une valeur dans une cellule ou supprimez une valeur d’une cellule.
Pour cela, vous devez, encore une fois, saisir le bien dans la fenêtre de code de la feuille de calcul et sélectionner « Modifier la sélection » dans la liste déroulante.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range(“A1”).Value = “Last Updated: ” & Format(Now, “dd-mmm-yy hh:mm:ss Am/pm”)
End Sub
9. Dans une autre procédure
Vous pouvez exécuter une macro à partir d’une autre procédure à l’aide de l’instruction call. Utilisez le mot-clé Appel puis le nom de la macro.
Sub myStrikeThrough()
If Selection.Value = “Yes” Then
Selection.Value = “No”
Else
Selection.Value = “Yes”
End If
End Sub
Sub markDone()
Call myStrikeThrough
Selection.Font.Bold = True
End Sub
Lorsque vous exécutez la macro « markDone », elle exécute d’abord la macro « mystrikethrough », puis met la police de sélection en gras.
10. Planifier une macro
Vous pouvez également planifier l’exécution d’une macro à une heure précise. Supposons que vous souhaitiez exécuter une macro le matin à 8h30, vous pouvez spécifier l’heure et nous l’exécuterons.
Pour cela, vous devez utiliser une méthode Application.OnTime. Supposons que vous ayez une macro « myCode », vous pouvez écrire le code comme ci-dessous pour l’exécuter à 8h30.
Application.OnTime TimeValue("08:30:00"), "myCode"