Macros Excel - Guide rapide

Une macro Excel est une action ou un ensemble d'actions que vous pouvez enregistrer, donner un nom, enregistrer et exécuter autant de fois que vous le souhaitez et quand vous le souhaitez. Lorsque vous créez une macro, vous enregistrez vos clics de souris et vos frappes. Lorsque vous exécutez une macro enregistrée, les clics de souris et les frappes enregistrés seront exécutés dans la même séquence qu'ils sont enregistrés.

Les macros vous aident à gagner du temps sur les tâches répétitives impliquées dans la manipulation des données et les rapports de données qui doivent être effectués fréquemment.

Macro et VBA

Vous pouvez enregistrer et exécuter des macros avec des commandes Excel ou à partir d'Excel VBA.

VBA signifie Visual Basic pour Applications et est un langage de programmation simple qui est disponible via Excel Visual Basic Editor (VBE), qui est disponible à partir de l'onglet DÉVELOPPEUR sur le ruban. Lorsque vous enregistrez une macro, Excel génère du code VBA. Si vous souhaitez simplement enregistrer une macro et l'exécuter, il n'est pas nécessaire d'apprendre Excel VBA. Toutefois, si vous souhaitez modifier une macro, vous ne pouvez le faire qu'en modifiant le code VBA dans l'éditeur Excel VBA.

Vous apprendrez à enregistrer une macro simple et à l'exécuter avec des commandes Excel dans le chapitre - Créer une macro simple. Vous en apprendrez plus sur les macros et sur la création et / ou la modification de macros à partir de l'éditeur Excel VBA dans les chapitres suivants.

Classeur de macros personnelles

Une macro peut être enregistrée dans le même classeur à partir duquel vous l'avez enregistrée. Dans ce cas, vous pouvez exécuter la macro à partir de ce classeur uniquement et par conséquent, vous devez la garder ouverte. Excel vous offre un autre moyen de stocker toutes vos macros. Il s'agit du classeur de macros personnelles, dans lequel vous pouvez enregistrer vos macros, qui vous permet d'exécuter ces macros à partir de n'importe quel classeur.

Vous découvrirez le classeur de macros personnelles dans le chapitre - Enregistrer toutes vos macros dans un seul classeur.

Sécurité des macros

Les macros seront stockées sous forme de code VBA dans Excel. Comme dans le cas de tout autre code, le code de macro est également sensible au code malveillant qui peut s'exécuter lorsque vous ouvrez un classeur. Ceci est une menace pour votre ordinateur. Microsoft a fourni la fonction de sécurité des macros qui vous aide à protéger votre ordinateur contre ces virus de macro.

Vous en apprendrez plus à ce sujet dans le chapitre - Sécurité des macros.

Références absolues et références relatives

Lors de l'enregistrement d'une macro, vous pouvez utiliser des références absolues ou des références relatives pour les cellules sur lesquelles vous cliquez. Les références absolues font que votre macro s'exécute dans les mêmes cellules où vous avez enregistré la macro. D'autre part, les références relatives font que votre macro s'exécute au niveau de la cellule active.

Vous en apprendrez plus à ce sujet dans les chapitres - Utilisation de références absolues pour une macro et Utilisation de références relatives pour une macro.

Code de macro dans VBA

Vous pouvez enregistrer et exécuter des macros à partir d'Excel même si vous ne connaissez pas Excel VBA. Cependant, si vous devez modifier une macro enregistrée ou créer une macro en écrivant du code VBA, vous devez apprendre Excel VBA. Vous pouvez vous référer au tutoriel Excel VBA dans cette bibliothèque de tutoriels pour cela

Cependant, vous devez savoir comment afficher le code de macro. Vous pouvez apprendre comment accéder à l'éditeur VBA dans Excel et sur les différentes parties de l'éditeur VBA dans le chapitre - Excel VBA.

Vous pouvez apprendre à afficher le code de macro dans l'éditeur Excel VBA et vous pouvez comprendre le code de macro dans le chapitre - Comprendre le code de macro.

Attribution de macros à des objets

Vous pouvez affecter une macro à un objet tel qu'une forme ou un graphique ou un contrôle. Ensuite, vous pouvez exécuter la macro en cliquant sur cet objet. Vous en apprendrez plus à ce sujet dans le chapitre - Assigner des macros à des objets.

Exécution de macros

Excel propose plusieurs méthodes pour exécuter une macro. Vous pouvez choisir la manière dont vous souhaitez exécuter une macro. Vous découvrirez ces différentes manières possibles d'exécuter une macro dans le chapitre - Exécuter une macro.

Création d'une macro à l'aide de l'éditeur VBA

Si vous décidez d'écrire le code de la macro, vous pouvez l'apprendre dans le chapitre - Créer une macro à l'aide de l'éditeur VBA. Cependant, la condition préalable est que vous ayez des connaissances Excel VBA.

Modifier une macro

Vous pouvez modifier le code de macro dans l'éditeur Excel VBA. Si vous souhaitez apporter des modifications importantes, vous devez avoir des connaissances Excel VBA. Mais, si vous ne souhaitez apporter que des modifications mineures au code ou si vous souhaitez copier le code VBA d'une macro enregistrée vers une autre macro, vous pouvez vous référer au chapitre - Modifier une macro.

Vous pouvez renommer une macro et même la supprimer. Vous en apprendrez également dans le même chapitre.

Formulaires utilisateur

Un formulaire est normalement utilisé pour collecter les informations requises. Ce sera explicite et simplifiera la tâche. Les formulaires utilisateur Excel créés à partir de l'éditeur Excel VBA ont le même objectif, fournissant les options familières telles que les zones de texte, les cases à cocher, les boutons radio, les zones de liste, les zones de liste déroulante, les barres de défilement, etc. en tant que contrôles.

Vous apprendrez à créer un formulaire utilisateur et à utiliser les différents contrôles dans le chapitre - Formulaires utilisateur.

Débogage du code de macro

Parfois, une macro peut ne pas s'exécuter comme prévu. Vous avez peut-être créé la macro ou vous utilisez peut-être une macro qui vous a été fournie par quelqu'un. Vous pouvez déboguer le code de macro comme vous déboguez tout autre code pour découvrir les défauts et les corriger. Vous en apprendrez plus à ce sujet dans le chapitre - Débogage du code de macro.

Configuration d'une macro à exécuter lors de l'ouverture d'un classeur

Vous pouvez exécuter votre macro automatiquement lorsque vous ouvrez un classeur. Vous pouvez le faire en créant une macro Auto_Run ou en écrivant du code VBA pour l'événement d'ouverture de classeur. Vous apprendrez cela dans le chapitre - Configurer une macro à exécuter à l'ouverture d'un classeur.

Vous pouvez créer une macro avec des commandes Excel en enregistrant les touches et les clics de souris, en donnant un nom à la macro et en spécifiant comment stocker la macro. Une macro ainsi enregistrée peut être exécutée avec une commande Excel.

Supposons que vous deviez collecter certains résultats à plusieurs reprises dans le format suivant -

Au lieu de créer la table à chaque fois, vous pouvez avoir une macro pour le faire pour vous.

Enregistrer une macro

Pour enregistrer une macro, procédez comme suit -

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros dans le groupe Macros.
  • Sélectionnez Enregistrer une macro dans la liste déroulante.

le Record Macro la boîte de dialogue apparaît.

  • Type MyFirstMacro dans la zone Nom de la macro.

  • Type A Simple Macro dans la zone Description et cliquez sur OK.

N'oubliez pas que tous les coups de touches et clics de souris que vous faites seront enregistrés maintenant.

  • Cliquez dans la cellule B2.

  • Créez la table.

  • Cliquez dans une autre cellule de la feuille de calcul.

  • Cliquez sur l'onglet VUE sur le ruban.

  • Cliquez sur Macros.

  • Sélectionner Stop Recording dans la liste déroulante.

L'enregistrement de votre macro est terminé.

La première étape pour cliquer sur une cellule particulière est importante car elle indique où exactement la macro doit commencer à placer les étapes enregistrées. Une fois que vous avez terminé l'enregistrement, vous devez cliquer sur Arrêter l'enregistrement pour éviter l'enregistrement d'étapes inutiles.

Exécuter une macro

Vous pouvez exécuter la macro que vous avez enregistrée autant de fois que vous le souhaitez. Pour exécuter la macro, procédez comme suit -

  • Cliquez sur une nouvelle feuille de calcul.

Notez la cellule active. Dans notre cas, c'est A1.

  • Clique le VIEW onglet sur le ruban.

  • Cliquez sur Macros.

  • Sélectionner View Macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

Seule la macro que vous avez enregistrée apparaît dans la liste des macros.

  • Cliquez sur le nom de la macro - MyFirstMacro dans la boîte de dialogue Macro. La description que vous avez tapée lors de l'enregistrement de la macro s'affiche. La description de macro vous permet d'identifier dans quel but vous avez enregistré la macro.

  • Cliquez sur le bouton Exécuter. Le même tableau que vous avez créé lors de l'enregistrement de la macro apparaîtra en une fraction de seconde seulement.

Vous avez découvert la baguette magique qu'Excel vous fournit pour gagner du temps sur des tâches banales. Vous observerez ce qui suit -

  • Bien que la cellule active avant d'exécuter la macro était A1, le tableau est placé dans la cellule B2 comme vous l'avez enregistré.

  • De plus, la cellule active est devenue E2, car vous avez cliqué sur cette cellule avant d'arrêter l'enregistrement.

Vous pouvez exécuter la macro dans plusieurs feuilles de calcul avec différentes cellules actives avant d'exécuter la macro et observer les mêmes conditions que ci-dessus. Gardez simplement une note à ce sujet et vous comprendrez plus tard dans ce tutoriel pourquoi cela s'est produit.

Vous pouvez également avoir un enregistrement macro qui place vos pas enregistrés dans la cellule active. Vous apprendrez comment procéder au fur et à mesure de votre progression dans le didacticiel.

Stockage d'une macro

Vous vous demandez peut-être comment enregistrer les macros créées. Dans ce contexte, vous devez savoir -

  • Stocker une macro
  • Enregistrement d'un fichier activé pour les macros

Au fur et à mesure que vous créez une macro, vous pouvez choisir où stocker cette macro particulière. Vous pouvez le faire dans leRecord Macro boite de dialogue.

Cliquez sur la case - Store macro in. Les trois options suivantes sont disponibles -

  • Ce classeur.
  • Nouveau classeur.
  • Classeur de macros personnelles

Ce classeur

Ceci est l'option par défaut. La macro sera stockée dans votre classeur actuel à partir duquel vous avez créé la macro.

Nouveau classeur

Cette option, bien que disponible, n'est pas recommandée. Vous demanderez à Excel de stocker la macro dans un nouveau classeur différent et ce n'est généralement pas nécessaire.

Classeur de macros personnelles

Si vous créez plusieurs macros que vous utilisez dans vos classeurs, le classeur de macros personnelles vous offre la possibilité de stocker toutes les macros à un seul endroit. Vous en apprendrez plus sur cette option dans le chapitre suivant.

Enregistrement d'un fichier activé pour les macros

Si tu avais choisi This Workbook comme option pour stocker la macro, vous devrez enregistrer votre classeur avec la macro.

Essayez d'enregistrer le classeur. Par défaut, vous demanderiez à Excel d'enregistrer le classeur en tant que fichier .xls. Excel affiche un message indiquant qu'un projet VB de fonctionnalité Excel ne peut pas être enregistré dans un classeur sans macro, comme indiqué ci-dessous.

Note- Si vous cliquez sur Oui, Excel enregistrera votre classeur en tant que fichier .xls sans macro et votre macro que vous avez stockée avec l'option Ce classeur ne sera pas enregistrée. Pour éviter cela, Excel vous offre la possibilité d'enregistrer votre classeur en tant que classeur prenant en charge les macros qui aura l'extension .xlsm.

  • Cliquez sur Non dans la boîte de message d'avertissement.
  • Sélectionnez Classeur Excel prenant en charge les macros (* .xlsm) dans le type Enregistrer sous.
  • Cliquez sur Enregistrer.

Vous en apprendrez plus à ce sujet dans les chapitres suivants de ce didacticiel.

Excel vous offre la possibilité de stocker toutes vos macros dans un seul classeur. Le classeur est appelé Classeur de macros personnelles - Personal.xlsb. Il s'agit d'un classeur caché stocké sur votre ordinateur, qui s'ouvre chaque fois que vous ouvrez Excel. Cela vous permet d'exécuter vos macros à partir de n'importe quel classeur. Il y aura un seul classeur de macros personnelles par ordinateur et vous ne pouvez pas le partager entre les ordinateurs. Vous pouvez afficher et exécuter les macros dans votre classeur de macros personnelles à partir de n'importe quel classeur sur votre ordinateur.

Enregistrement de macros dans le classeur de macros personnelles

Vous pouvez enregistrer des macros dans votre classeur de macros personnelles en le sélectionnant comme option de stockage lors de l'enregistrement des macros.

Sélectionnez Classeur de macros personnelles dans la liste déroulante sous la catégorie Store macro in.

  • Enregistrez votre deuxième macro.
  • Donnez des détails sur la macro dans la boîte de dialogue Enregistrer une macro comme indiqué ci-dessous.
  • Cliquez sur OK.

Votre enregistrement démarre. Créez un tableau comme indiqué ci-dessous.

  • Arrête d'enregistrer.

  • Cliquez sur l'onglet VUE sur le ruban.

  • Cliquez sur Macros.

  • Sélectionner View Macrosdans la liste déroulante. La boîte de dialogue Macro apparaît.

Le nom de la macro apparaît avec un préfixe PERSONAL.XLSB! indiquant que la macro se trouve dans le classeur de macros personnelles.

Enregistrez votre classeur. Il sera enregistré en tant que fichier .xls car la macro ne se trouve pas dans votre classeur et ferme Excel.

Vous recevrez le message suivant concernant l'enregistrement des modifications dans le classeur de macros personnelles -

Cliquez sur le bouton Enregistrer. Votre macro est enregistrée dans lePersonal.xlsb fichier sur votre ordinateur.

Masquage / affichage du classeur de macros personnelles

Le classeur de macros personnelles sera masqué par défaut. Lorsque vous démarrez Excel, le classeur de macros personnelles est chargé mais vous ne pouvez pas le voir car il est masqué. Vous pouvez l'afficher comme suit -

  • Clique le VIEW onglet sur le ruban.

  • Cliquez sur Afficher dans le groupe Fenêtre.

La boîte de dialogue Afficher s'affiche.

PERSONAL.XLSB apparaît dans la zone Afficher le classeur et cliquez sur OK.

Vous pouvez maintenant afficher les macros enregistrées dans le classeur de macros personnelles.

Pour masquer le classeur de macros personnelles, procédez comme suit:

  • Cliquez sur le classeur de macros personnelles.
  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Masquer sur le ruban.

Exécution de macros enregistrées dans le classeur de macros personnelles

Vous pouvez exécuter les macros enregistrées dans le classeur de macros personnelles à partir de n'importe quel classeur. Pour exécuter les macros, il ne fait aucune différence que le classeur de macros personnelles soit masqué ou non masqué.

  • Cliquez sur Afficher les macros.
  • Sélectionnez le nom de la macro dans la liste des macros.
  • Cliquez sur le bouton Exécuter. La macro s'exécutera.

Ajout / suppression de macros dans le classeur de macros personnelles

Vous pouvez ajouter plus de macros dans le classeur de macros personnelles en le sélectionnant pour l'option Stocker la macro dans lors de l'enregistrement des macros, comme vous l'avez vu précédemment.

Vous pouvez supprimer une macro dans le classeur de macros personnelles comme suit -

  • Assurez-vous que le classeur de macros personnelles n'est pas masqué.
  • Cliquez sur le nom de la macro dans la boîte de dialogue Afficher les macros.
  • Cliquez sur le bouton Supprimer.

Si le classeur de macros personnelles est masqué, vous recevrez un message indiquant "Impossible de modifier une macro sur un classeur masqué".

Affichez le classeur de macros personnelles et supprimez la macro sélectionnée.

La macro n'apparaîtra pas dans la liste des macros. Toutefois, lorsque vous créez une nouvelle macro et l'enregistrez dans votre classeur personnel ou supprimez les macros qu'elle contient, vous serez invité à enregistrer le classeur personnel comme dans le cas où vous l'avez enregistré la première fois.

Les macros que vous créez dans Excel seraient écrites dans le langage de programmation VBA (Visual Basic pour Applications). Vous découvrirez le code de macro Excel dans les chapitres suivants. Comme vous le savez, lorsqu'il existe un code exécutable, il existe une menace de virus. Les macros sont également sensibles aux virus.

Que sont les virus de macro?

Excel VBA dans lequel les macros sont écrites a accès à la plupart des appels système Windows et s'exécute automatiquement lorsque les classeurs sont ouverts. Par conséquent, il existe une menace potentielle de l'existence d'un virus écrit sous forme de macro et caché dans Excel qui est exécuté à l'ouverture d'un classeur. Par conséquent, les macros Excel peuvent être très dangereuses pour votre ordinateur à bien des égards. Cependant, Microsoft a pris les mesures appropriées pour protéger les classeurs contre les virus de macro.

Microsoft a introduit la sécurité des macros afin que vous puissiez identifier les macros auxquelles vous pouvez faire confiance et celles que vous ne pouvez pas.

Classeurs Excel compatibles avec les macros

La fonction de sécurité des macros Excel la plus importante est - les extensions de fichier.

Les classeurs Excel seront enregistrés avec l'extension de fichier .xlsx par défaut. Vous pouvez toujours faire confiance aux classeurs avec l'extension de fichier .xlsx, car ils sont incapables de stocker une macro et ne porteront aucune menace.

Les classeurs Excel avec des macros sont enregistrés avec l'extension de fichier .xlsm. Ils sont appelés classeurs Excel compatibles avec les macros. Avant d'ouvrir ces classeurs, vous devez vous assurer que les macros qu'ils contiennent ne sont pas malveillantes. Pour cela, vous devez vous assurer que vous pouvez approuver l'origine de ce type de classeurs.

Méthodes d'approbation du classeur prenant en charge les macros

Excel propose trois méthodes pour approuver un classeur prenant en charge les macros.

  • Placement des classeurs activés pour les macros dans un dossier approuvé

  • Vérifier si une macro est signée numériquement

  • Activation des messages d'alerte de sécurité avant d'ouvrir les classeurs activés pour les macros

Placement des classeurs activés pour les macros dans un dossier approuvé

C'est le moyen le plus simple et le meilleur de gérer la sécurité des macros. Excel vous permet de désigner un dossier comme emplacement de confiance. Placez tous vos classeurs prenant en charge les macros dans ce dossier approuvé. Vous pouvez ouvrir des classeurs prenant en charge les macros qui sont enregistrés à cet emplacement sans avertissements ni restrictions.

Vérifier si une macro est signée numériquement

Les signatures numériques confirment l'identité de l'auteur. Vous pouvez configurer Excel pour exécuter des macros signées numériquement à partir de personnes de confiance sans avertissements ni restrictions. Excel avertira également le destinataire s'il a été modifié depuis que l'auteur l'a signé.

Activation des messages d'alerte de sécurité avant d'ouvrir les classeurs activés pour les macros

Lorsque vous ouvrez un classeur, Excel vous avertit que le classeur contient des macros et vous demande si vous souhaitez les activer. Vous pouvez cliquer sur leEnable Content bouton si la source du classeur est fiable.

Vous pouvez définir l'une de ces trois options dans le Centre de gestion de la confidentialité dans les options Excel.

Si vous travaillez dans une organisation, l'administrateur système a peut-être modifié les paramètres par défaut pour empêcher quiconque de modifier les paramètres. Microsoft vous conseille de ne pas modifier les paramètres de sécurité dans le Centre de gestion de la confidentialité car les conséquences peuvent être la perte de données, le vol de données ou des compromissions de sécurité sur votre ordinateur ou votre réseau.

Cependant, vous pouvez apprendre les paramètres de sécurité des macros dans les sections suivantes et vérifier s'ils doivent être modifiés. Vous devez utiliser votre propre instinct pour décider de l'une de ces options en fonction du contexte et de votre connaissance de l'origine du fichier.

Paramètres de sécurité des macros dans Trust Center

Les paramètres de macro se trouvent dans le Centre de gestion de la confidentialité dans les options Excel. Pour accéder au Centre de gestion de la confidentialité, procédez comme suit:

  • Cliquez sur l'onglet FICHIER sur le ruban.

  • Cliquez sur Options. La boîte de dialogue Options Excel s'affiche.

  • Cliquez sur Trust Center dans le volet gauche.

  • Clique le Trust Center Settings bouton sous Microsoft Excel Trust Center.

le Trust Center la boîte de dialogue apparaît.

Vous verrez diverses options disponibles dans le Centre de gestion de la confidentialité Excel dans le volet gauche. Vous découvrirez les options liées aux macros Excel dans les sections suivantes.

Paramètres de macro

Les paramètres de macro se trouvent dans le Centre de gestion de la confidentialité.

Sous Paramètres des macros, quatre options sont disponibles.

  • Disable all macros without notification - Si cette option est choisie, les macros et les alertes de sécurité concernant les macros sont désactivées.

  • Disable all macros with notification- Les macros sont désactivées, mais des alertes de sécurité apparaissent si des macros sont présentes. Vous pouvez activer les macros au cas par cas.

  • Disable all macros except digitally signed macros- Les macros sont désactivées mais des alertes de sécurité apparaissent si des macros sont présentes. Toutefois, si la macro est signée numériquement par un éditeur approuvé, la macro s'exécute si vous approuvez l'éditeur. Si vous ne faites pas confiance à l'éditeur, vous serez averti d'activer la macro signée et d'approuver l'éditeur.

  • Enable all macros (not recommended, susceptible to macro viruses)- Si cette option est choisie, toutes les macros s'exécutent. Ce paramètre rend votre ordinateur vulnérable au code potentiellement malveillant.

Vous disposez d'une option de sécurité supplémentaire sous Paramètres des macros de développeur avec une case à cocher.

  • Trust access to the VBA project object model.

    • Cette option permet un accès par programme au modèle d'objet Visual Basic pour Applications (VBA) à partir d'un client d'automatisation.

    • Cette option de sécurité concerne le code écrit pour automatiser un programme Office et manipuler l'environnement VBA et le modèle objet.

    • Il s'agit d'un paramètre par utilisateur et par application, et refuse l'accès par défaut, empêchant les programmes non autorisés de créer du code auto-réplicatif nuisible.

    • Pour que les clients d'automatisation accèdent au modèle d'objet VBA, l'utilisateur exécutant le code doit accorder l'accès. Pour activer l'accès, cochez la case.

Définition d'un emplacement approuvé

Si vous pensez qu'un classeur prenant en charge les macros provient d'une source fiable, il est préférable de déplacer le fichier vers l'emplacement approuvé identifié par Excel, au lieu de modifier les paramètres par défaut du Centre de gestion de la confidentialité en un paramètre de sécurité des macros moins sûr.

Vous pouvez trouver les paramètres des dossiers approuvés dans le Centre de gestion de la confidentialité.

Cliquez sur Emplacements approuvés dans la boîte de dialogue Centre de gestion de la confidentialité. Les emplacements approuvés définis par Microsoft Office apparaissent sur le côté droit.

Vous pouvez ajouter de nouveaux emplacements, supprimer les emplacements existants et modifier les emplacements existants. Les emplacements de confiance identifiés seront traités par Microsoft Office comme fiables pour l'ouverture des fichiers. Cependant, si vous ajoutez ou modifiez un emplacement, assurez-vous que l'emplacement est sécurisé.

Vous pouvez également trouver les options que le bureau ne recommande pas, telles que les emplacements sur Internet.

Macros signées numériquement à partir de sources fiables

Microsoft propose une option pour accueillir les macros signées numériquement. Cependant, même si une macro est signée numériquement, vous devez vous assurer qu'elle provient d'un éditeur de confiance.

Vous trouverez les éditeurs de confiance dans le Centre de gestion de la confidentialité.

  • Cliquez sur Trusted Publishersdans la boîte de dialogue Centre de gestion de la confidentialité. Une liste de certificats apparaît sur le côté droit avec les détails - Émis à, Émis par et Date d'expiration.

  • Sélectionnez un certificat et cliquez sur Afficher.

Les informations du certificat s'affichent.

Comme vous l'avez appris plus haut dans ce chapitre, vous pouvez définir une option pour exécuter une macro signée numériquement uniquement si vous faites confiance à l'éditeur. Si vous ne faites pas confiance à l'éditeur, vous serez invité à activer la macro signée et à approuver l'éditeur.

Utilisation des messages d'avertissement

La barre des messages affiche une alerte de sécurité lorsqu'il y a des macros dans le fichier que vous ouvrez. La barre de messages jaune avec une icône de bouclier vous avertit que les macros sont désactivées.

Si vous savez que la macro ou les macros proviennent d'une source fiable, vous pouvez cliquer sur le bouton Activer le contenu de la barre des messages pour activer les macros.

Vous pouvez désactiver l'option Barre des messages si vous ne souhaitez pas d'alertes de sécurité. D'autre part, vous pouvez activer l'option Message Bar pour augmenter la sécurité.

Activation / désactivation des alertes de sécurité sur la barre de messages

Vous pouvez activer / désactiver les alertes de sécurité avec les barres de messages comme suit -

  • Cliquez sur l'onglet FICHIER sur le ruban.
  • Cliquez sur Options. La boîte de dialogue Options Excel s'affiche.
  • Cliquez sur Trust Center.
  • Cliquez sur le bouton Paramètres du Centre de gestion de la confidentialité.
  • Cliquez sur Message Bar.

Les paramètres de la barre des messages pour toutes les applications Office apparaissent.

Il y a deux options sous - Showing the Message Bar.

Option 1 - Afficher la barre de messages dans toutes les applications lorsque le contenu actif tel que les macros est bloqué.

  • Ceci est l'option par défaut. La barre de messages apparaît lorsque le contenu potentiellement dangereux a été désactivé.

  • Si vous aviez sélectionné - Disable all macros without notification in the Macro Settings of the Trust Center, cette option n'est pas sélectionnée et la barre de messages n'apparaît pas.

Option 2 - N'affichez jamais d'informations sur le contenu bloqué.

Si cette option est sélectionnée, elle désactive la barre des messages et aucune alerte ne s'affiche concernant les problèmes de sécurité, quels que soient les paramètres de sécurité du centre de gestion de la confidentialité.

Les macros Excel peuvent être enregistrées avec des références absolues ou des références relatives. Une macro enregistrée avec des références absolues place les étapes enregistrées exactement dans les cellules où elle a été enregistrée, quelle que soit la cellule active. D'autre part, une macro enregistrée avec des références relatives peut effectuer les tâches enregistrées à différentes parties de la feuille de calcul.

Vous découvrirez les références absolues pour les macros dans ce chapitre. Vous en apprendrez davantage sur les références relatives dans le chapitre suivant.

Supposons que vous deviez soumettre un rapport sur le travail de votre équipe à la fin de chaque journée dans le format suivant -

Maintenant, le rapport doit être placé dans la cellule B2 et doit être au format donné.

Un exemple de rapport rempli sera comme indiqué ci-dessous -

À l'exception des données des cellules suivantes, les informations sont constantes pour chaque rapport que vous générez pour le projet.

  • C3 - Rapport pour la date.
  • C13 - Nombre de tâches accomplies aujourd'hui.
  • C14 - Nombre total de tâches accomplies.
  • C15 -% travail terminé.

Parmi ceux-ci également, dans C3 (Rapport pour la date), vous pouvez placer la fonction Excel = TODAY ()qui place la date de votre rapport sans votre intervention. En outre, dans la cellule C15, vous pouvez avoir la formule C14 / C12 et mettre en forme la cellule C15 en pourcentage pour que le% de travail achevé soit calculé par Excel pour vous.

Cela vous laisse avec seulement deux cellules - C13 et C14 qui doivent être remplies par vous tous les jours. Par conséquent, il serait idéal d'avoir des informations pour le reste des cellules, chaque fois que vous devez créer le rapport. Cela vous fait gagner du temps et vous pouvez réaliser l'activité banale de création de rapports en quelques minutes seulement.

Supposons maintenant que vous deviez envoyer de tels rapports pour trois projets. Vous pouvez imaginer le temps que vous pouvez gagner et entreprendre un travail plus difficile pour la journée et bien sûr obtenir les éloges de votre direction.

Vous pouvez y parvenir en enregistrant une macro par projet et en les exécutant au jour le jour pour générer les rapports requis en quelques minutes seulement. Toutefois, chaque fois que vous exécutez la macro, le rapport doit apparaître dans la feuille de calcul comme indiqué ci-dessus, quelle que soit la cellule active. Pour cela, vous devez utiliser des références absolues.

Garantir des références absolues

Pour enregistrer une macro avec des références absolues, vous devez vous assurer que la macro est enregistrée à partir de la cellule où les étapes doivent commencer. Cela signifie que, dans le cas de l'exemple donné dans la section précédente, vous devez faire ce qui suit -

  • Commencez à enregistrer la macro.
  • Créez une nouvelle feuille de calcul.
  • Cliquez dans n'importe quelle cellule autre que B2 dans la nouvelle feuille de calcul.
  • Cliquez dans la cellule B2.
  • Continuez à enregistrer la macro.

Cela créera une nouvelle feuille de calcul pour chaque nouveau rapport et obtiendra le format de rapport placé dans la cellule B2 chaque fois que vous exécuterez la macro.

Note - Les trois premières étapes indiquées ci-dessus sont essentielles.

  • Si vous ne créez pas une nouvelle feuille de calcul, lorsque vous exécutez la macro, il place tout ce que vous avez enregistré sur la même feuille de calcul au même endroit. Ce n'est pas ce que tu veux. Vous devez avoir chaque rapport sur une feuille de calcul différente.

  • Si vous ne cliquez pas dans une cellule différente au début de l'enregistrement, même si la cellule active est B2, Excel place les étapes enregistrées dans la cellule active. Lorsque vous exécutez la macro, il place le format de rapport enregistré à n'importe quelle partie de la feuille de calcul basée sur la cellule active. En cliquant explicitement dans une cellule autre que B2, puis sur la cellule B2, vous indiquez à l'enregistreur de toujours placer vos étapes de macro dans la cellule B2.

Enregistrer une macro

Vous pouvez commencer à enregistrer la macro avec le Record Macrocommande sur le ruban sous l'onglet VUE → Macros. Vous pouvez également cliquer sur leStart Recording Macro bouton présent sur le côté gauche de la barre des tâches Excel.

  • Commencez à enregistrer la macro. leRecord Macro la boîte de dialogue apparaît.

  • Donnez un nom significatif pour identifier la macro en tant que rapport d'un projet particulier.

  • Sélectionnez ce classeur sous Store macro in, car vous produirez des rapports à partir de ce classeur spécifique uniquement.

  • Donnez une description à votre macro et cliquez sur OK.

Votre macro démarre l'enregistrement.

  • Créez une nouvelle feuille de calcul. Cela garantit que votre nouveau rapport figurera sur une nouvelle feuille de calcul.

  • Cliquez dans n'importe quelle cellule autre que B2 dans la nouvelle feuille de calcul.

  • Cliquez dans la cellule B2. Cela garantit que la macro place toujours vos étapes enregistrées dans B2.

  • Créez le format du rapport.

  • Renseignez les informations statiques du rapport de projet.

  • Placez = AUJOURD'HUI () dans C3 et = C14 / C12 dans la cellule C15.

  • Mettez en forme les cellules avec des dates.

Arrêtez d'enregistrer la macro.

Vous pouvez arrêter l'enregistrement de la macro soit avec Stop Recording sur le ruban sous l'onglet VUE → Macros ou en cliquant sur le bouton Arrêter l'enregistrement de la macro présent sur le côté gauche de la barre des tâches Excel.

Votre macro de rapport de projet est prête. Enregistrez le classeur en tant que classeur prenant en charge les macros (avec l'extension .xlsm).

Exécuter une macro

Vous pouvez générer n'importe quel nombre de rapports en quelques secondes simplement en exécutant la macro.

  • Cliquez sur le bouton AFFICHER sur le ruban.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante. La boîte de dialogue Macro apparaît.
  • Cliquez sur la macro Report_ProjectXYZ.
  • Cliquez sur le bouton Exécuter.

Une nouvelle feuille de calcul sera créée dans votre classeur, avec le gabarit de rapport créé dans la cellule B2.

Les macros de référence relative enregistrent un décalage par rapport à la cellule active. Ces macros seront utiles si vous devez répéter les étapes à divers endroits de la feuille de calcul.

Supposons que vous deviez analyser les données des électeurs collectées dans 280 circonscriptions. Pour chaque circonscription, les informations suivantes sont collectées -

  • Nom de la circonscription.
  • Population totale de la circonscription.
  • Nombre d'électeurs dans la circonscription.
  • Nombre d'électeurs de sexe masculin, et
  • Nombre d'électeurs féminins.

Les données vous sont fournies dans une feuille de travail comme indiqué ci-dessous.

Il n'est pas possible d'analyser les données dans le format ci-dessus. Par conséquent, organisez les données dans un tableau comme indiqué ci-dessous.

Si vous essayez d'organiser les données fournies dans le format ci-dessus -

  • Il faut beaucoup de temps pour organiser les données des 280 circonscriptions

  • Cela peut être sujet aux erreurs

  • Cela devient une tâche banale ne vous permettant pas de vous concentrer sur des choses techniques

La solution consiste à enregistrer une macro afin de pouvoir terminer la tâche en quelques secondes au maximum. La macro doit utiliser des références relatives, car vous vous déplacerez vers le bas des lignes tout en organisant les données.

Utilisation de références relatives

Afin de faire savoir à l'enregistreur de macros qu'il doit utiliser des références relatives, procédez comme suit:

  • Clique le VIEW onglet sur le ruban.

  • Cliquez sur Macros.

  • Cliquez sur Use Relative References.

Préparation du format de données

La première étape de l'organisation des données ci-dessus consiste à définir le format des données dans un tableau avec des en-têtes.

Créez la ligne d'en-têtes comme indiqué ci-dessous.

Enregistrer une macro

Enregistrez la macro comme suit -

  • Cliquez sur Enregistrer une macro.

  • Donnez un nom significatif, par exemple, DataArrange à la macro.

  • Type = row ()- 3dans la cellule B4. C'est parce que le S. No. est le numéro de ligne actuel - les 3 lignes au-dessus.

  • Coupez les cellules B5, B6, B7, B8 et B9 et collez-les respectivement dans les cellules C4 à C8.

  • Cliquez maintenant dans la cellule B5. Votre tableau ressemble à celui ci-dessous.

Le premier ensemble de données est organisé dans la première ligne du tableau. Supprimez les lignes B6 - B11 et cliquez dans la cellule B5.

Vous pouvez voir que la cellule active est B5 et le prochain jeu de données sera placé ici.

Arrêtez d'enregistrer la macro. Votre macro pour organiser les données est prête.

Exécuter une macro

Vous devez exécuter la macro à plusieurs reprises pour terminer la disposition des données dans le tableau comme indiqué ci-dessous.

La cellule active est B5. Exécutez la macro. Le deuxième ensemble de données sera disposé dans la deuxième ligne du tableau et la cellule active sera B6.

Exécutez à nouveau la macro. Le troisième ensemble de données sera disposé dans la troisième ligne du tableau et la cellule active deviendra B7.

Chaque fois que vous exécutez la macro, la cellule active passe à la ligne suivante, facilitant la répétition des étapes enregistrées aux positions appropriées. Cela est possible en raison des références relatives dans la macro.

Exécutez la macro jusqu'à ce que tous les 280 ensembles de données soient organisés en 280 lignes dans le tableau. Ce processus prend quelques secondes et comme les étapes sont automatisées, l'ensemble de l'exercice est sans erreur.

Excel stocke les macros sous forme de code Excel VBA (Visual Basic pour Applications). Après avoir enregistré une macro, vous pouvez afficher le code généré, le modifier, en copier une partie, etc. Vous pouvez même écrire un code de macro vous-même si vous êtes à l'aise avec la programmation en VBA.

Vous apprendrez à créer une macro, en écrivant un code VBA, dans le chapitre - Créer une macro à l'aide de l'éditeur VBA. Vous apprendrez à modifier une macro en éditant du code VBA dans le chapitre - Editer une macro. Vous apprendrez les fonctionnalités d'Excel VBA dans ce chapitre.

Onglet Développeur sur le ruban

Vous pouvez accéder au code de macro dans VBA à partir de l'onglet Développeur sur le ruban.

Si vous ne trouvez pas l'onglet Développeur sur le ruban, vous devez l'ajouter comme suit -

  • Faites un clic droit sur le ruban.

  • Sélectionner Customize the Ribbon dans la liste déroulante.

le Excel Options la boîte de dialogue apparaît.

  • Sélectionner Main Tabs de Customize the Ribbon la liste déroulante.

  • Cochez la case - Développeur dans la liste Onglets principaux et cliquez sur OK. L'onglet développeur apparaît.

Commandes du développeur pour les macros

Vous devez connaître les commandes destinées aux macros sous l'onglet développeur.

Cliquez sur l'onglet DÉVELOPPEUR sur le ruban. Les commandes suivantes sont disponibles dans le groupe Code -

  • Visual Basic
  • Macros
  • Enregistrer une macro
  • Utiliser des références relatives
  • Sécurité des macros

La commande Visual Basic est utilisée pour ouvrir l'éditeur VBA dans Excel et la commande Macros est utilisée pour afficher, exécuter et supprimer les macros.

Vous avez déjà appris les commandes autres que VBA Editor dans les chapitres précédents.

Éditeur VBA

VBA Editor ou VBE est la plate-forme de développement pour VBA dans Excel.

Ouvrez le classeur - MyFirstMacro.xlsm que vous avez enregistré plus tôt dans le chapitre - Création d'une macro simple, dans ce didacticiel.

Vous pouvez ouvrir le VBE de l'une des deux manières:

Option 1 - Cliquez sur Visual Basic dans le groupe Code sous l'onglet Développeur sur le ruban.

Option 2 - Cliquez sur Modifier dans la boîte de dialogue Macro qui apparaît lorsque vous cliquez sur l'onglet AFFICHER → Macros → Afficher les macros

VBE apparaît dans une nouvelle fenêtre.

Le nom de votre classeur Excel prenant en charge les macros s'affiche avec le préfixe - Microsoft Visual Basic pour Applications.

Vous trouverez ce qui suit dans le VBE -

  • Explorateur de projets.
  • Properties.
  • Fenêtre du module avec code.

Explorateur de projets

L'Explorateur de projets est l'endroit où vous trouvez les noms de projet VBA. Sous un projet, vous trouverez les noms de feuille et les noms de module. Lorsque vous cliquez sur un nom de module, le code correspondant apparaît sur le côté droit dans une fenêtre.

Fenêtre Propriétés

Les propriétés sont les paramètres des objets VBA. Lorsque vous avez un objet tel qu'un bouton de commande, ses propriétés apparaissent dans la fenêtre Propriétés.

Fenêtre de module avec code

Le code d'une macro sera stocké dans un module en VBA. Lorsque vous sélectionnez une macro et cliquez sur Modifier, le code de la macro apparaît dans la fenêtre du module correspondant.

Lorsque vous enregistrez une macro, Excel la stocke sous forme de code VBA. Vous pouvez afficher ce code dans l'éditeur VBA. Vous pouvez comprendre le code et le modifier si vous avez une connaissance approfondie d'Excel VBA. Vous pouvez vous référer au tutoriel Excel VBA dans cette bibliothèque de tutoriels pour obtenir une compréhension de la langue.

Cependant, vous pouvez toujours afficher le code de macro dans l'éditeur Excel VBA et le faire correspondre aux étapes que vous avez enregistrées dans la macro. Vous apprendrez à afficher le code et à le comprendre pour la première macro que vous avez créée dans ce didacticiel - MyFirstMacro.

Affichage d'un code de macro dans l'éditeur VBA

Pour afficher un code de macro, procédez comme suit -

  • Ouvrez le classeur dans lequel vous avez stocké la macro.
  • Cliquez sur l'onglet AFFICHER sur le ruban.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

  • Cliquez sur MyFirstMacro dans la liste des macros.
  • Cliquez sur le bouton Modifier.

L'éditeur VBA s'ouvre et le code de la macro MyFirstMacro apparaît.

Comprendre les actions enregistrées en tant que parties de code

Vous pouvez parcourir le code de macro et les mapper à vos étapes enregistrées.

  • Commencez à lire le code.
  • Mappez le code sur les étapes enregistrées.

Faites défiler le code pour afficher plus de code. Vous pouvez également agrandir la fenêtre de code.

Observez que le code est simple. Si vous apprenez Excel VBA, vous pouvez créer les macros en écrivant le code dans l'éditeur VBA.

Vous apprendrez à écrire un code VBA pour créer une macro dans le chapitre - Créer une macro à l'aide de l'éditeur VBA.

Supposons que vous ayez créé une macro que vous devez exécuter plusieurs fois. Par exemple, les macros que vous avez créées pour les références absolues et les références relatives. Ensuite, ce serait facile pour vous si vous pouviez exécuter la macro en un clic de souris. Vous pouvez accomplir cela en affectant la macro à un objet tel qu'une forme ou un graphique ou un contrôle.

Dans ce chapitre, vous apprendrez à inclure un objet dans votre classeur et à lui attribuer une macro.

Rappelez-vous la macro que vous avez créée à l'aide de références relatives. La macro organise les données données dans une colonne dans un tableau pour faciliter l'analyse des données.

Assigner une macro à une forme

Vous pouvez insérer une forme dans votre feuille de calcul qui se présente sous une forme significative avec un texte explicite, qui, lorsque vous cliquez dessus, exécute la macro qui lui est attribuée.

  • Clique le INSERT onglet sur le ruban.

  • Cliquez sur Shapes dans le groupe Illustrations.

  • Sélectionnez l'une des formes prêtes à l'emploi qui apparaissent dans la liste déroulante. Par exemple, la forme Organigramme - Préparation, car vous êtes en train de préparer les données.

Dessinez la forme et formatez-la.

  • Faites un clic droit sur la forme et sélectionnez Edit Text dans la liste déroulante.

  • Tapez du texte à l'intérieur de la forme - Exécuter la macro.

  • Formatez le texte.

  • Faites un clic droit sur la forme.
  • Sélectionnez Attribuer une macro dans la liste déroulante.

La boîte de dialogue Attribuer une macro apparaît. Cliquez sur le nom de la macro, c'est-à-dire RelativeMacro, puis cliquez sur OK.

La macro est affectée à la forme.

  • Cliquez dans la cellule où vous devez exécuter la macro, dites B4.

  • Déplacez le curseur (pointeur) sur la forme. Le curseur (pointeur) se transforme en doigt.

Cliquez maintenant sur la forme. La macro s'exécutera. Répétez simplement les clics de souris pour exécuter la macro plusieurs fois et vous avez terminé avec la tâche d'organiser les données dans un tableau en quelques secondes.

Attribution d'une macro à un graphique

Vous pouvez insérer un graphique dans la feuille de calcul et lui affecter une macro. Le graphique peut être choisi pour visualiser votre macro. Par exemple, vous pouvez avoir un graphique de table représentant que la macro organisera les données dans une table.

  • Cliquez sur l'onglet INSÉRER sur le ruban.
  • Cliquez sur Images dans le groupe Illustrations.
  • Sélectionnez un fichier contenant votre graphique.

Les autres étapes sont les mêmes que celles de forme données dans la section précédente.

Assigner une macro à un contrôle

L'insertion d'un contrôle VBA et l'attribution d'une macro donnent à votre travail un aspect professionnel. Vous pouvez insérer des contrôles VBA à partir de l'onglet Développeur sur le ruban.

  • Clique le DEVELOPER onglet sur le ruban.

  • Cliquez sur Insert dans le groupe Contrôles.

Sélectionnez l'icône du bouton sous Form Controls dans la liste déroulante comme indiqué dans la capture d'écran ci-dessous -

  • Cliquez sur la cellule de la feuille de calcul dans laquelle vous souhaitez insérer le contrôle Button. La boîte de dialogue Attribuer une macro apparaît.

  • Cliquez sur le nom de la macro et cliquez sur OK.

Le bouton de commande avec la macro attribuée sera inséré.

  • Faites un clic droit sur le bouton.
  • Cliquez sur Modifier le texte.
  • Type - Exécuter la macro.
  • Mettre en forme le texte et redimensionner le bouton.

Vous pouvez exécuter la macro un certain nombre de fois en cliquant simplement sur le bouton à plusieurs reprises.

L'utilisation des contrôles de formulaire est un moyen simple et efficace d'interagir avec l'utilisateur. Vous en apprendrez plus à ce sujet dans le chapitre - Interagir avec l'utilisateur.

Il existe plusieurs façons d'exécuter une macro dans votre classeur. La macro aurait été enregistrée dans votre classeur activé pour les macros ou dans votre classeur de macros personnelles auquel vous pouvez accéder à partir de n'importe quel classeur comme vous l'avez appris précédemment.

Vous pouvez exécuter une macro des manières suivantes -

  • Exécution d'une macro à partir de l'onglet Affichage
  • Exécution d'une macro en appuyant sur Ctrl plus une touche de raccourci
  • Exécution d'une macro en cliquant sur un bouton de la barre d'outils d'accès rapide
  • Exécution d'une macro en cliquant sur un bouton dans un groupe personnalisé sur le ruban
  • Exécuter une macro en cliquant sur un objet graphique
  • Exécution d'une macro à partir de l'onglet Développeur
  • Exécution d'une macro à partir de l'éditeur VBA

Exécution d'une macro à partir de l'onglet Affichage

Vous avez déjà appris à exécuter une macro à partir de l'onglet Affichage du ruban. Un bref récapitulatif -

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

  • Cliquez sur le nom de la macro.
  • Cliquez sur le bouton Exécuter.

Exécution d'une macro avec une touche de raccourci

Vous pouvez attribuer une touche de raccourci (Ctrl + touche) à une macro. Vous pouvez le faire pendant l'enregistrement de la macro dans leCreate Macroboite de dialogue. Sinon, vous pouvez l'ajouter plus tard dans leMacro Options boite de dialogue.

Ajout d'une touche de raccourci lors de l'enregistrement d'une macro

  • Cliquez sur l'onglet VUE.
  • Cliquez sur Macros.
  • Sélectionnez Enregistrer une macro dans la liste déroulante.

La boîte de dialogue Créer une macro apparaît.

  • Tapez un nom de macro
  • Tapez une lettre, disons q, dans la zone à côté de Ctrl + sous la touche de raccourci.

Ajout d'une touche de raccourci dans les options de macro

  • Cliquez sur l'onglet VUE.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

  • Sélectionnez le nom de la macro.
  • Cliquez sur le bouton Options.

La boîte de dialogue Options de macro apparaît. Tapez une lettre, disons q, dans la zone à côté de Ctrl + sous la touche de raccourci. Cliquez sur OK.

Pour exécuter la macro avec la touche de raccourci, appuyez simultanément sur la touche Ctrl et la touche q. La macro s'exécutera.

Note- Vous pouvez utiliser des lettres minuscules ou majuscules pour la touche de raccourci d'une macro. Si vous utilisez une combinaison Ctrl + lettre qui est une touche de raccourci Excel, vous la remplacerez. Les exemples incluent Ctrl + C, Ctrl + V, Ctrl + X, etc. Par conséquent, utilisez votre juridiction en choisissant les lettres.

Exécution d'une macro via la barre d'outils d'accès rapide

Vous pouvez ajouter un bouton de macro à la barre d'outils d'accès rapide et exécuter la macro en cliquant dessus. Cette option serait utile lorsque vous stockez vos macros dans un classeur de macros personnelles. Le bouton ajouté apparaîtra dans la barre d'outils d'accès rapide dans le classeur que vous ouvrez, ce qui vous permet d'exécuter facilement la macro.

Supposons que vous ayez une macro avec le nom MyMacro dans votre classeur de macros personnelles.

Pour ajouter le bouton macro à la barre d'outils d'accès rapide, procédez comme suit:

  • Cliquez avec le bouton droit sur la barre d'outils d'accès rapide.

  • Sélectionner Customize Quick Access Toolbar dans la liste déroulante.

La boîte de dialogue Options Excel s'affiche. Sélectionnez Macros dans la liste déroulante sous la catégorie-Choose commands from.

Une liste de macros apparaît sous Macros.

  • Cliquez sur PERSONAL.XLSB! MyMacro.
  • Cliquez sur le bouton Ajouter.

Le nom de la macro apparaît sur le côté droit, avec une image du bouton macro.

Pour changer l'image du bouton macro, procédez comme suit -

  • Cliquez sur le nom de la macro dans la zone de droite.
  • Cliquez sur le bouton Modifier.

le Modify Buttonla boîte de dialogue apparaît. Sélectionnez un symbole pour le définir comme icône du bouton.

Modifiez le nom d'affichage qui apparaît lorsque vous placez le pointeur sur l'image du bouton dans la barre d'outils Accès rapide à un nom significatif, par exemple, Exécuter MyMacro pour cet exemple. Cliquez sur OK.

Le nom de la macro et le symbole de l'icône changent dans le volet droit. Cliquez sur OK.

Le bouton macro apparaît dans la barre d'outils d'accès rapide et le nom d'affichage de la macro apparaît lorsque vous placez le pointeur sur le bouton.

Pour exécuter la macro, cliquez simplement sur le bouton macro de la barre d'outils d'accès rapide.

Exécution d'une macro dans un groupe personnalisé

Vous pouvez ajouter un groupe personnalisé et un bouton personnalisé sur le ruban et affecter votre macro au bouton.

  • Faites un clic droit sur le ruban.
  • Sélectionnez Personnaliser le ruban dans la liste déroulante.

le Excel Options la boîte de dialogue apparaît.

  • Sélectionnez Onglets principaux sous Personnaliser le ruban.
  • Cliquez sur Nouvel onglet.

Le nouvel onglet (personnalisé) apparaît dans la liste des onglets principaux.

  • Cliquez sur Nouvel onglet (personnalisé).
  • Cliquez sur le bouton Nouveau groupe.

Le nouveau groupe (personnalisé) apparaît sous Nouvel onglet (personnalisé).

  • Cliquez sur Nouvel onglet (personnalisé).
  • Cliquez sur le bouton Renommer.

La boîte de dialogue Renommer s'affiche. Tapez le nom de votre onglet personnalisé qui apparaît dans les onglets principaux du ruban, par exemple - Mes macros et cliquez sur OK.

Note- Tous les onglets principaux du ruban sont en majuscules. Vous pouvez utiliser votre discrétion pour utiliser des lettres majuscules ou minuscules. J'ai choisi les minuscules avec une majuscule des mots pour qu'elle ressorte dans les onglets standard.

Le nom du nouvel onglet devient Mes macros (personnalisées).

  • Cliquez sur Nouveau groupe (personnalisé).
  • Cliquez sur le bouton Renommer.

le Renamela boîte de dialogue apparaît. Tapez le nom du groupe dans la boîte de dialogue Nom d'affichage et cliquez sur OK.

Le nouveau nom de groupe devient Macros personnelles (personnalisées).

Cliquez sur Macros dans le volet gauche sous Choose commands from.

  • Sélectionnez le nom de votre macro, par exemple - MyFirstMacro dans la liste des macros.
  • Cliquez sur le bouton Ajouter.

La macro sera ajoutée sous le groupe Macros personnelles (personnalisées).

  • Cliquez sur Mes macros (personnalisées) dans la liste.
  • Cliquez sur les flèches pour déplacer l'onglet vers le haut ou vers le bas.

La position de l'onglet dans la liste des onglets principaux détermine où il sera placé sur le ruban. Cliquez sur OK.

Votre onglet personnalisé - Mes macros apparaît sur le ruban.

Cliquez sur l'onglet - Mes macros. Le groupe Macros personnelles apparaît sur le ruban. MyFirstMacro apparaît dans le groupe Macros personnelles. Pour exécuter la macro, cliquez simplement sur MyFirstMacro dans le groupe Macros personnelles.

Exécution d'une macro en cliquant sur un objet

Vous pouvez insérer un objet tel qu'une forme, un graphique ou un contrôle VBA dans votre feuille de calcul et lui attribuer une macro. Pour exécuter la macro, cliquez simplement sur l'objet.

Pour plus de détails sur l'exécution d'une macro à l'aide d'objets, reportez-vous au chapitre - Assigner des macros à des objets.

Exécution d'une macro à partir de l'onglet Développeur

Vous pouvez exécuter une macro à partir de l'onglet Développeur.

  • Cliquez sur l'onglet Développeur sur le ruban.
  • Cliquez sur Macros.

La boîte de dialogue Macro apparaît. Cliquez sur le nom de la macro, puis sur Exécuter.

Exécution d'une macro à partir de l'éditeur VBA

Vous pouvez exécuter une macro à partir de l'éditeur VBA comme suit -

  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.

Vous pouvez créer une macro en écrivant le code dans l'éditeur VBA. Dans ce chapitre, vous apprendrez où et comment écrire le code d'une macro.

Objets et modules VBA

Avant de commencer à coder pour une macro, comprenez les objets et modules VBA.

  • Ouvrez le classeur prenant en charge les macros avec votre première macro.
  • Cliquez sur l'onglet DÉVELOPPEUR sur le ruban.
  • Cliquez sur Visual Basic dans le groupe Code.

La fenêtre de l'éditeur VBA s'ouvre.

Vous observerez ce qui suit dans la fenêtre Explorateur de projets -

  • Votre classeur activé pour les macros - MyFirstMacro.xlsm apparaît en tant que projet VBA.

  • Toutes les feuilles de calcul et le classeur apparaissent en tant qu'objets Microsoft Excel sous le projet.

  • Module1 apparaît sous Modules. Votre code de macro se trouve ici.

  • Cliquez sur Module1.

  • Cliquez sur l'onglet Affichage sur le ruban.

  • Sélectionnez Code dans la liste déroulante.

Le code de votre macro apparaît.

Créer une macro par codage

Ensuite, créez une deuxième macro dans le même classeur - cette fois en écrivant du code VBA.

Vous pouvez le faire en deux étapes -

  • Insérez un bouton de commande.

  • Écrivez le code indiquant les actions à effectuer lorsque vous cliquez sur le bouton de commande.

Insertion d'un bouton de commande

  • Créez une nouvelle feuille de calcul.

  • Cliquez dans la nouvelle feuille de calcul.

  • Cliquez sur le bouton DÉVELOPPEUR sur le ruban.

  • Cliquez sur Insérer dans le groupe Contrôles.

  • Sélectionnez l'icône du bouton dans Form Controls.

  • Cliquez dans la feuille de calcul à l'endroit où vous souhaitez placer le bouton de commande.
  • La boîte de dialogue Attribuer une macro apparaît.

L'éditeur Visual Basic apparaît.

Vous observerez ce qui suit -

  • Un nouveau module - Module2 est inséré dans l'explorateur de projet.
  • La fenêtre de code avec le titre Module2 (Code) apparaît.
  • Une sous-procédure Button1_Click () est insérée dans le code Module2.

Codage de la macro

Votre codage est à moitié fait par l'éditeur VBA lui-même.

Par exemple, tapez MsgBox “Best Wishes to You!”dans la sous-procédure Button1_Click (). Une boîte de message avec la chaîne donnée sera affichée lorsque le bouton de commande est cliqué.

C'est ça! Votre code de macro est prêt à être exécuté. Comme vous le savez, le code VBA ne nécessite pas de compilation car il s'exécute avec un interpréteur.

Exécution de la macro à partir de l'éditeur VBA

Vous pouvez tester votre code de macro à partir de l'éditeur VBA lui-même.

  • Cliquez sur l'onglet Exécuter sur le ruban.

  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante. La boîte de message avec la chaîne que vous avez tapée apparaît dans votre feuille de calcul.

Vous pouvez voir que le bouton est sélectionné. Cliquez sur OK dans la boîte de message. Vous serez redirigé vers l'éditeur VBA.

Exécution de la macro à partir de la feuille de calcul

Vous pouvez exécuter la macro que vous avez codée un certain nombre de fois à partir de la feuille de calcul.

  • Cliquez quelque part sur la feuille de calcul.
  • Cliquez sur le bouton. La boîte de message apparaît sur la feuille de calcul.

Vous avez créé une macro en écrivant du code VBA. Comme vous pouvez le constater, le codage VBA est simple.

Vous avez appris à écrire du code de macro dans l'éditeur VBA dans le chapitre précédent. Vous pouvez modifier le code de la macro, renommer une macro et supprimer une macro.

Si vous maîtrisez Excel VBA, écrire du code ou modifier du code pour une macro est une tâche triviale. Vous pouvez modifier le code de la macro comme vous le souhaitez. Si vous souhaitez apporter seulement quelques modifications simples au code de macro, vous pouvez même copier le code de macro d'un endroit à un autre.

Copie d'un code macro

Vous avez créé deux macros - MyFirstMacro et Button1_Click dans le classeur activé par macro MyFirstMacro.xlsm. Vous avez créé la première macro en enregistrant les étapes et la deuxième macro en écrivant du code. Vous pouvez copier le code de la première macro dans la deuxième macro.

  • Ouvrez le classeur MyFirstMacro.xlsm.

  • Cliquez sur l'onglet Développeur sur le ruban.

  • Cliquez sur Visual Basic. L'éditeur Visual Basic s'ouvre.

  • Ouvrez le code pour Module1 (code macro MyFirstMacro) et Module2 (code macro Button1_Click ()).

  • Cliquez sur l'onglet Fenêtre sur le ruban.

  • Sélectionnez Mosaïque horizontale dans la liste déroulante.

Vous pouvez afficher le code des deux macros dans les fenêtres en mosaïque.

  • Copiez la ligne MsgBox dans le code Module2.

  • Collez-le au-dessus de cette ligne.

  • Modifiez la chaîne comme -

    MsgBox "Hello World!"

  • Copiez le code suivant de Module1.

Collez-le dans le code Module2 entre les deux lignes de code MsgBox.

  • Cliquez sur l'icône Enregistrer pour enregistrer le code.

  • Cliquez sur le bouton dans la feuille Excel. Une boîte de message apparaît avec le message - Hello World! Cliquez sur OK.

Les données du tableau apparaissent (selon le code que vous avez copié) et la boîte de message apparaît avec le message - Meilleurs vœux à vous!

Vous pouvez modifier le code en quelques étapes seulement. C'est la tâche la plus simple pour un débutant.

Renommer une macro

Supposons que vous souhaitiez exécuter la macro modifiée à partir de n'importe quelle feuille de calcul autre que celle contenant le bouton de commande. Vous pouvez le faire indépendamment du clic sur le bouton en renommant la macro.

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

  • Cliquez sur le nom de la macro - Button1_Click.
  • Cliquez sur le bouton Modifier.

Le code de la macro apparaît dans l'éditeur VBA.

Modifiez le nom qui apparaît dans la ligne Sub de Button1_Click à RenamedMacro. Laissez Sub et les parenthèses tels quels.

Ouvrez la boîte de dialogue Macro. Le nom de la macro apparaît lorsque vous l'avez renommé.

  • Cliquez sur RenamedMacro.
  • Cliquez sur le bouton Exécuter. La macro s'exécute. Désormais, un clic sur un bouton n'est pas nécessaire.

Supprimer une macro

Vous pouvez supprimer une macro que vous avez enregistrée ou codée.

  • Ouvrez la boîte de dialogue Macros.
  • Cliquez sur le nom de la macro.
  • Cliquez sur le bouton Supprimer.

le Delete un message de confirmation apparaît.

Cliquez sur Yessi vous êtes sûr de supprimer la macro. Sinon, cliquez sur Non.

Parfois, vous devrez peut-être collecter des informations à plusieurs reprises auprès d'autres personnes. Excel VBA vous offre un moyen simple de gérer cette tâche.UserForm. Comme tout autre formulaire que vous remplissez, UserForm simplifie la compréhension des informations à fournir. UserForm est convivial dans la mesure où les commandes fournies sont explicites, accompagnées d'instructions supplémentaires si nécessaire.

Le principal avantage d'UserForm est que vous pouvez gagner du temps que vous passez sur quoi et comment les informations doivent être remplies.

Créer un UserForm

Pour créer un UserForm, procédez comme suit -

  • Cliquez sur l'onglet DÉVELOPPEUR sur le ruban.
  • Cliquez sur Visual Basic. Une fenêtre Visual Basic pour le classeur s'ouvre.
  • Cliquez sur Insérer,
  • Sélectionnez UserForm dans la liste déroulante.

L'UserForm apparaît sur le côté droit de la fenêtre.

Comprendre l'UserForm

Agrandissez la fenêtre UserForm.xlsx - UserForm1.

Vous êtes maintenant en mode conception. Vous pouvez insérer des contrôles sur l'UserForm et écrire du code pour les actions respectives. Les contrôles sont disponibles dans la ToolBox. Les propriétés de UserForm se trouvent dans la fenêtre Propriétés. UserForm1 (légende du UserForm) est indiqué sous Formulaires dans l'Explorateur de projets.

  • Remplacez la légende de l'UserForm par Project Report - Daily dans la fenêtre des propriétés.
  • Modifiez le nom de l'UserForm en ProjectReport.

Les modifications sont reflétées dans le UserForm, les propriétés et l'explorateur de projet.

Contrôles dans la boîte à outils

Un UserForm aura différents composants. Au fur et à mesure que vous cliquez sur l'un des composants, soit vous recevrez des instructions sur les informations à fournir et la manière dont elles doivent être fournies, soit des options (choix) parmi lesquelles choisir. Tous ces éléments sont fournis au moyen de contrôles ActiveX dans la boîte à outils de l'UserForm.

Excel fournit deux types de contrôles: les contrôles de formulaire et les contrôles ActiveX. Vous devez comprendre la différence entre ces deux types de contrôles.

Contrôles de formulaire

Les contrôles de formulaire sont les contrôles d'origine Excel compatibles avec les versions antérieures d'Excel, à partir d'Excel version 5.0. Les contrôles de formulaire sont également conçus pour être utilisés sur des feuilles de macro XLM.

Vous pouvez exécuter des macros à l'aide de contrôles de formulaire. Vous pouvez affecter une macro existante à un contrôle ou écrire ou enregistrer une nouvelle macro. Lorsque l'utilisateur clique sur le contrôle, la macro. Vous avez déjà appris comment insérer un bouton de commande à partir de contrôles de formulaire dans la feuille de calcul pour exécuter une macro. Toutefois, ces contrôles ne peuvent pas être ajoutés à un UserForm.

Contrôles ActiveX

Les contrôles ActiveX peuvent être utilisés sur les UserForms VBA. Les contrôles ActiveX ont des propriétés étendues que vous pouvez utiliser pour personnaliser leur apparence, leur comportement, leurs polices et d'autres caractéristiques.

Vous disposez des contrôles ActiveX suivants dans la boîte à outils UserForm -

  • Pointer
  • Label
  • TextBox
  • ComboBox
  • ListBox
  • CheckBox
  • OptionButton
  • Frame
  • ToggleButton
  • CommandButton
  • TabStrip
  • MultiPage
  • ScrollBar
  • SpinButton
  • Image

En plus de ces contrôles, Visual Basic vous fournit la fonction MsgBox qui peut être utilisée pour afficher des messages et / ou inviter l'utilisateur à effectuer une action.

Dans les prochaines sections, vous comprendrez ces contrôles et MsgBox. Ensuite, vous serez en mesure de choisir lesquels de ces contrôles sont nécessaires pour concevoir votre UserForm.

Étiquette

Vous pouvez utiliser les étiquettes à des fins d'identification en affichant un texte descriptif, comme des titres, des légendes et / ou de brèves instructions.

Example

Zone de texte

Vous pouvez utiliser une zone de texte qui est une zone rectangulaire, pour taper, afficher ou modifier du texte. Vous pouvez également utiliser un TextBox comme champ de texte statique qui présente des informations en lecture seule.

Example

Zone de liste

Vous pouvez utiliser une zone de liste pour afficher une liste d'un ou plusieurs éléments de texte parmi lesquels un utilisateur peut choisir. Utilisez une zone de liste pour afficher un grand nombre de choix dont le nombre ou le contenu varient.

  • Insérez un ListBox sur l'UserForm.
  • Cliquez sur ListBox.
  • Tapez ProjectCodes pour le nom dans la fenêtre Propriétés de ListBox.

Il existe trois types de zones de liste -

  • Single-selection List box- Une zone de liste à sélection unique ne permet qu'un seul choix. Dans ce cas, une zone de liste ressemble à un groupe de cases d'option, sauf qu'une zone de liste peut gérer un grand nombre d'éléments plus efficacement.

  • Multiple selection List Box - Une zone de liste à sélection multiple permet un choix unique ou des choix contigus (adjacents).

  • Extended-selection List Box - Une zone de liste à sélection étendue permet un choix, des choix contigus et des choix non contigus (ou disjoints).

Vous pouvez sélectionner l'un de ces types de zones de liste dans la fenêtre Propriétés.

  • Cliquez avec le bouton droit sur l'UserForm.
  • Sélectionnez Afficher le code dans la liste déroulante. La fenêtre de code de UserForm s'ouvre.
  • Cliquez sur Initialiser dans la zone supérieure droite de la fenêtre de code.
  • Tapez ce qui suit sous Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.

Ensuite, vous pouvez écrire du code pour les actions lors de la sélection d'un élément dans la liste. Sinon, vous pouvez simplement afficher le texte sélectionné, ce qui est le cas pour remplir le code de projet dans le rapport.

Boîte combo

Vous pouvez utiliser ComboBoxqui combine une zone de texte avec une zone de liste pour créer une zone de liste déroulante. Une zone de liste déroulante est plus compacte qu'une zone de liste mais oblige l'utilisateur à cliquer sur la flèche vers le bas pour afficher la liste des éléments. Utilisez une zone de liste déroulante pour choisir un seul élément de la liste.

  • Insérez un ComboBox sur l'UserForm.
  • Cliquez sur le ComboBox.
  • Tapez ProjectCodes2 pour Nom dans la fenêtre Propriétés de la zone de liste déroulante.
  • Cliquez avec le bouton droit sur l'UserForm.
  • Sélectionnez Afficher le code dans la liste déroulante.
  • La fenêtre de code de UserForm s'ouvre.

Tapez ce qui suit comme indiqué ci-dessous.

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.

Cliquez sur la flèche vers le bas pour afficher la liste des éléments.

Cliquez sur l'élément requis, par exemple, Project2016-5. L'option sélectionnée sera affichée dans la zone de liste déroulante.

CheckBox

Vous pouvez utiliser des cases à cocher pour sélectionner une ou plusieurs options qui s'affichent en cliquant dans les cases. Les options auront des étiquettes et vous pourrez visualiser clairement les options sélectionnées.

Une case à cocher peut avoir deux états -

  • Sélectionné (activé), indiqué par une coche dans la case
  • Effacé (désactivé), indiqué par une case claire

Vous pouvez utiliser des cases à cocher pour sélectionner des options dans une zone de liste déroulante pour économiser de l'espace. Dans un tel cas, la case à cocher peut également avoir un troisième état -

  • Mixte, c'est-à-dire une combinaison d'états d'activation et de désactivation, indiquée par un point noir dans la case. Cela sera affiché pour indiquer plusieurs sélections dans la zone de liste déroulante avec des cases à cocher.

  • Insérez des cases à cocher dans le formulaire utilisateur comme indiqué ci-dessous.

  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.
  • Cliquez dans les cases correspondant aux options sélectionnées.

OptionButton

Vous pouvez utiliser un bouton d'option, également connu sous le nom de bouton radio pour faire un seul choix dans un ensemble limité de choix mutuellement exclusifs. Un bouton d'option est généralement contenu dans une zone de groupe ou un cadre.

Un bouton d'option est représenté par un petit cercle. Un bouton d'option peut avoir l'un des deux états suivants -

  • Sélectionné (activé), indiqué par un point dans le cercle
  • Effacé (désactivé), indiqué par un blanc

Cadre

Vous pouvez utiliser un contrôle de cadre, également appelé zone de groupe pour regrouper les contrôles associés en une seule unité visuelle. En règle générale, les boutons d'option, les cases à cocher ou les contenus étroitement liés sont regroupés dans un contrôle de cadre.

Un contrôle de cadre est représenté par un objet rectangulaire avec une étiquette facultative.

  • Insérez un cadre avec la légende «Choix».

  • Insérez deux boutons d'option avec les légendes «Oui» et «Non» dans le contrôle de cadre. Les options Oui et Non s'excluent mutuellement.

  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.
  • Cliquez sur l'option sélectionnée.

Bouton à bascule

Vous pouvez utiliser un bouton bascule pour indiquer un état, tel que Oui ou Non, ou un mode, tel que activé ou désactivé. Le bouton alterne entre un état activé et un état désactivé lorsque vous cliquez dessus.

Insérez un bouton bascule sur UserForm comme indiqué ci-dessous -

  • Cliquez sur l'onglet Exécuter sur le ruban.

  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante. Le bouton bascule sera à l'état activé par défaut.

Cliquez sur le bouton bascule. Le bouton bascule sera désactivé.

Si vous cliquez à nouveau sur le bouton bascule, il sera activé.

Bouton de commande

Vous pouvez utiliser un bouton de commande pour exécuter une macro qui effectue certaines actions lorsque l'utilisateur clique dessus. Vous avez déjà appris à utiliser un bouton de commande sur une feuille de calcul pour exécuter une macro.

Le bouton de commande est également appelé bouton-poussoir. Insérez un bouton de commande sur l'UserForm comme indiqué ci-dessous -

  • Faites un clic droit sur le bouton de commande.
  • Tapez le code suivant dans le sous Commandbutton1_click ().
ProjectCodes2.DropDown
  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.

Cliquez sur le bouton de commande. La liste déroulante de la liste déroulante s'ouvre, car c'est l'action que vous avez écrite dans le code.

TabStrip

Vous pouvez insérer une bande d'onglets qui ressemble à des onglets Excel sur l'UserForm.

Barre de défilement

Vous pouvez utiliser une barre de défilement pour faire défiler une plage de valeurs en cliquant sur les flèches de défilement ou en faisant glisser la case de défilement.

Insérez une barre de défilement sur le formulaire utilisateur en le dessinant à la position requise et ajustez la longueur de la barre de défilement.

  • Faites un clic droit sur la barre de défilement.
  • Sélectionnez Afficher le code dans la liste déroulante. La fenêtre Code s'ouvre.
  • Ajoutez la ligne suivante sous ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values"
  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.

Faites glisser la zone de défilement. Le texte - Valeurs de défilement sera affiché dans la zone de texte comme vous l'avez spécifié comme action de défilement de la barre de défilement.

MsgBox ()

Vous pouvez utiliser la fonction MsgBox () pour afficher un message lorsque vous cliquez sur quelque chose. Il peut s'agir d'une ligne directrice ou de certaines informations ou d'un avertissement ou d'une alerte d'erreur.

Par exemple, vous pouvez afficher un message indiquant que les valeurs défilent lorsque vous commencez à faire défiler la zone de défilement.

Affichage de l'icône de la boîte de message

Vous pouvez utiliser des affichages d'icônes de boîte de message qui décrivent le message spécifique. Vous disposez de plusieurs icônes de boîte de message adaptées à votre objectif -

  • Tapez le code suivant sous ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result"
  • Cliquez sur l'onglet Exécuter sur le ruban.
  • Sélectionnez Exécuter Sub / UserForm dans la liste déroulante.
  • Faites glisser la zone de défilement.

Vous obtiendrez successivement les boîtes de message suivantes.

Conception de UserForm

Maintenant, vous avez une compréhension des différents contrôles que vous pouvez utiliser sur un UserForm. Sélectionnez les contrôles, regroupez-les si nécessaire et organisez-les sur le formulaire utilisateur selon une séquence significative. Écrivez les actions requises sous forme de code correspondant aux contrôles respectifs.

Reportez-vous au didacticiel VBA de cette bibliothèque de didacticiels pour un exemple d'UserForm.

Vous avez appris que la macro est stockée en tant que code VBA dans Excel. Vous avez également appris que vous pouvez directement écrire du code pour créer une macro dans l'éditeur VBA. Toutefois, comme dans le cas de n'importe quel code, même le code de macro peut avoir des défauts et la macro peut ne pas s'exécuter comme prévu.

Cela nécessite d'examiner le code pour trouver les défauts et les corriger. Le terme utilisé pour cette activité de développement logiciel est le débogage.

Débogage VBA

L'éditeur VBA vous permet de suspendre l'exécution du code et d'effectuer toute tâche de débogage requise. Voici quelques-unes des tâches de débogage que vous pouvez effectuer.

  • Parcourir le code
  • Utilisation des points d'arrêt
  • Sauvegarder ou avancer dans le code
  • Ne pas parcourir chaque ligne de code
  • Interroger n'importe quoi tout en parcourant le code
  • Arrêter l'exécution

Ce ne sont là que quelques-unes des tâches que vous pouvez effectuer dans l'environnement de débogage de VBA.

Parcourir le code

La première chose que vous devez faire pour le débogage est de parcourir le code lors de son exécution. Si vous avez une idée de la partie du code qui produit probablement le défaut, vous pouvez accéder à cette ligne du code. Sinon, vous pouvez exécuter le code ligne par ligne, en sauvegardant ou en avançant dans le code.

Vous pouvez entrer dans le code à partir de la boîte de dialogue Macro de votre classeur ou de l'éditeur VBA lui-même.

Stepping into the code from the workbook

Pour accéder au code à partir du classeur, procédez comme suit:

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

  • Cliquez sur le nom de la macro.
  • Cliquez sur le bouton Pas à pas.

L'éditeur VBA s'ouvre et le code de la macro apparaît dans la fenêtre de code. La première ligne du code macro sera mise en évidence en jaune.

Stepping into the code from the VBA editor

Pour entrer dans le code de l'éditeur VBA, procédez comme suit -

  • Cliquez sur l'onglet DÉVELOPPEUR sur le ruban.
  • Cliquez sur Visual Basic. L'éditeur VBA s'ouvre.
  • Cliquez sur le module qui contient le code de macro.

Le code macro apparaît dans la fenêtre de code.

  • Cliquez sur l'onglet Déboguer sur le ruban.

  • Sélectionner Step into dans la liste déroulante.

La première ligne du code de macro sera mise en évidence. Le code est en mode débogage et les options de la liste déroulante Débogage deviendront actives.

Sauvegarder ou avancer dans le code

Vous pouvez avancer ou reculer dans le code en sélectionnant Step Over ou Step Out.

Ne pas parcourir chaque ligne de code

Vous pouvez éviter de parcourir chaque code de ligne, si vous identifiez une partie potentielle du code qui doit être discutée, en sélectionnant Exécuter au curseur.

Utilisation des points d'arrêt

Vous pouvez également définir des points d'arrêt sur des lignes de code spécifiques et exécuter le code, en observant les résultats à chaque point d'arrêt. Vous pouvez basculer un point d'arrêt et effacer tous les points d'arrêt si et quand cela est nécessaire.

Utilisation de la montre

Vous pouvez ajouter une surveillance pendant le débogage, pour évaluer une expression et arrêter l'exécution lorsqu'une variable atteint une valeur spécifique. Cela signifie que vous configurez une expression de surveillance, qui sera surveillée jusqu'à ce qu'elle soit vraie, puis la macro s'arrêtera et vous laissera en mode pause. VBA vous propose plusieurs types de montres parmi lesquels choisir, afin d'accomplir ce que vous recherchez.

Arrêter l'exécution

Pendant le débogage, à tout moment, si vous avez trouvé un indice sur ce qui ne va pas, vous pouvez arrêter l'exécution pour déchiffrer davantage.

Si vous êtes un développeur expérimenté, la terminologie de débogage vous est familière et les options de débogage de l'éditeur VBA vous simplifient la vie. Même autrement, il ne vous faudra pas beaucoup de temps pour maîtriser cette compétence si vous avez appris VBA et que vous comprenez le code.

Vous pouvez enregistrer une macro et l'enregistrer sous le nom Auto_Open pour l'exécuter chaque fois que vous ouvrez le classeur qui contient cette macro.

Vous pouvez également écrire du code VBA dans le même but avec l'événement Open du classeur. L'événement Open exécute le code dans la sous-procédure Workbook_Open () chaque fois que vous ouvrez le classeur.

Enregistrement d'une macro Auto_Open

Vous pouvez enregistrer une macro Auto_Run comme suit -

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros.
  • Cliquez sur Enregistrer une macro. La boîte de dialogue Enregistrer une macro apparaît.
  • Tapez Auto_Run pour le nom de la macro.
  • Saisissez une description et cliquez sur OK.
  • Commencez à enregistrer la macro.
  • Arrête d'enregistrer.
  • Enregistrez le classeur en tant que classeur activé pour les macros.
  • Fermez le classeur.
  • Ouvrez le classeur. La macro Auto_Run s'exécutera automatiquement.

Si vous souhaitez qu'Excel démarre sans exécuter une macro Auto_Open, maintenez la touche MAJ lorsque vous démarrez Excel.

Limitations de la macro Auto_Open

Voici les limitations de la macro Auto_Open -

  • Si le classeur dans lequel vous avez enregistré la macro Auto_Open contient du code pour l'événement Workbook Open, le code de l'événement Open remplacera les actions de la macro Auto_Open.

  • Une macro Auto_Open est ignorée lorsque le classeur est ouvert en exécutant du code qui utilise la méthode Open.

  • Une macro Auto_Open s'exécute avant l'ouverture des autres classeurs. Par conséquent, si vous enregistrez des actions que vous souhaitez qu'Excel exécute sur le classeur Book1 par défaut ou sur un classeur chargé à partir du dossier XLStart, la macro Auto_Open échouera lorsque vous redémarrez Excel, car la macro s'exécute avant l'ouverture des classeurs par défaut et de démarrage. .

Si vous rencontrez l'une de ces limitations, au lieu d'enregistrer une macro Auto_Open, vous devez écrire un code pour l'événement Open comme décrit dans la section suivante.

Code VBA pour l'événement ouvert d'un classeur

Vous pouvez écrire du code qui sera exécuté lorsque vous ouvrez un classeur. VBA vous fournit un événement appelé open qui incorpore une procédure VBA pour les actions à effectuer lors de l'ouverture d'un classeur.

Ouvrez le classeur dans lequel vous avez stocké la macro que vous avez écrite pour les références absolues - Report_ProjectXYZ. Lorsque cette macro est exécutée, une nouvelle feuille de calcul est ajoutée dans le classeur et la structure de rapport de projet apparaît dans la nouvelle feuille de calcul.

Vous pouvez écrire un code de macro qui effectuera ces actions lorsque vous ouvrez le classeur. Cela signifie que lorsque vous ouvrez le classeur de rapport de projet, une nouvelle feuille de calcul avec la structure du rapport sera prête pour que vous puissiez entrer les détails.

Suivez la procédure ci-dessous dans l'éditeur VBA -

  • Double-cliquez sur ThisWorkbook dans l'Explorateur de projets.

  • Dans la fenêtre de code, sélectionnez Workbook dans la liste déroulante de gauche et Ouvrir dans la liste déroulante de droite. Sub Workbook_Open () apparaît.

  • Cliquez sur Modules dans l'Explorateur de projets.

  • Double-cliquez sur le nom du module contenant le code de la macro.

  • Copiez le code de macro à partir du module et collez-le dans le Sub WorkBook_Open ().

Enregistrez le classeur prenant en charge les macros. Ouvrez-le à nouveau. La macro s'exécute et une nouvelle feuille de calcul avec la structure du rapport est insérée.