Création de macros (Microsoft Excel)
Trucs, astuces et réponses
Les articles suivants sont disponibles pour la rubrique «Création de macros».
Cliquez sur le titre de l’article (affiché en gras) pour voir l’article associé.
link: / excel-Assigning_a_Macro_to_a_Keyboard_Combination [Assigner une macro à une combinaison de clavier]
Les macros sont un excellent moyen d’étendre ce que vous pouvez faire avec les données que vous placez dans Excel. Vous pouvez rendre ces macros encore plus pratiques en les affectant à une touche de raccourci, comme décrit dans cette astuce.
link: / excel-Automatically_Changing_References_to_VBA_Libraries [Modification automatique des références aux bibliothèques VBA]
Les bibliothèques VBA sont utilisées pour fournir certaines fonctions à vos macros. Ces bibliothèques sont souvent liées à la version d’Excel que vous utilisez et peuvent donc rendre difficile l’exécution de la même macro sur une version différente d’Excel. Cette astuce fournit quelques idées sur la manière de contourner les problèmes liés à la référence de bibliothèque VBA utilisée dans un classeur.
link: / excel-Continuing_Macro_Lines [Continuing Macro Lines]
Parfois, une ligne de commande macro peut devenir très, très longue. Cela peut rendre difficile à comprendre lorsque vous l’examinez dans un mois ou deux. Il est préférable de diviser vos lignes de commande en lignes individuelles plus faciles à comprendre et à documenter.
link: / excel-Copying_Worksheets_in_a_Macro [Copie de feuilles de travail dans une macro]
La copie de feuilles de calcul (une ou plusieurs) est facile à faire manuellement. Ce qui n’est pas bien connu, c’est qu’il est même facile de faire les copies dans une macro, comme décrit dans cette astuce.
link: / excel-Deleting_Macros_from_within_a_Macro [Suppression de macros à partir d’une macro]
Les macros sont vraiment utiles, mais vous souhaiterez peut-être supprimer une macro à partir d’une autre macro. Ce n’est pas aussi facile qu’il y paraît, comme le souligne cette astuce.
link: / excel-Error_Using_ATAFunction_in_Macro [Erreur lors de l’utilisation de la fonction ATAN2 dans la macro]
Excel vous permet d’utiliser des fonctions de feuille de calcul à partir de macros. Ceci est utile, en particulier lorsque vous essayez d’exécuter des fonctions mathématiques. Si votre utilisation génère une erreur, cependant, vous ne savez peut-être pas pourquoi cela se produit.
link: / excel-Exiting_a_For_Next_Loop_Early [Sortie d’une boucle For … Next Early]
Si vous utilisez les boucles For … Next dans vos macros, assurez-vous de laisser un moyen de sortir tôt de la boucle. De cette façon, vous pouvez limiter le temps passé par la macro dans la boucle et accélérer les performances.
link: / excel-Hiding_Entries_in_an_InputBox [Masquage des entrées dans une InputBox]
Demander aux utilisateurs de saisir un mot de passe dans Excel augmente la sécurité de la feuille de calcul et peut empêcher quelqu’un d’exécuter une macro sans autorisation. Cette astuce explique comment accomplir cette tâche.
lien: / excel-Macro_Fails_after_AutoFilter [échec de la macro après le filtre automatique]
Lors du développement d’une macro que d’autres peuvent utiliser, vous souhaiterez peut-être la tester pour vous assurer qu’elle fonctionne correctement si un filtre automatique est activé. Si ce n’est pas le cas, vous pouvez désactiver le filtre automatique avec une simple commande sur une seule ligne.
link: / excel-Maximum_Length_Limit_for_a_Macro [Limite de longueur maximale pour une macro]
Rendez vos macros trop longues et Excel peut tout simplement refuser de les exécuter.
Cette astuce explique quelle est la limite pour les macros et fournit des conseils sur la façon de contourner la limite.
link: / excel-Offer_Options_in_a_Macro [Offrir des options dans une macro]
Il est souvent utile d’obtenir une entrée utilisateur dans une macro. Voici un moyen rapide de présenter certaines options et d’obtenir la réponse de l’utilisateur.
link: / excel-Official_Color_Names_in_VBA [Noms de couleurs officiels dans VBA]
Lors de la création de macros, vous pouvez utiliser les propriétés ColorIndex et Color pour définir ou déterminer les couleurs d’une cellule. Excel fournit huit constantes qui peuvent être utilisées pour spécifier des couleurs, mais ce n’est pas la limite sur la façon dont vous pouvez travailler avec les couleurs. Cette astuce fournit des conseils généraux sur les couleurs et les noms de couleurs dans les macros VBA.
link: / excel-Opening_a_Workbook_but_Disabling_Macros [Ouverture d’un classeur mais désactivation des macros]
Les macros qui s’exécutent automatiquement lorsque vous ouvrez ou fermez un classeur sont très utiles. Cependant, vous ne souhaitez peut-être pas qu’ils s’exécutent lorsque vous ouvrez ou fermez un classeur à partir de la macro d’un autre classeur. Cette astuce explique comment vous pouvez arrêter l’exécution d’une macro particulière (fermeture automatique) lors de l’accès à un classeur de cette manière.
link: / excel-Recording_a_Macro [Enregistrer une macro]
L’un des moyens les plus courants de créer des macros consiste à utiliser l’enregistreur de macros d’Excel. Cette astuce montre à quel point il est facile d’utiliser l’enregistreur de macros pour enregistrer les actions que vous effectuez dans votre classeur.
link: / excel-Retrieving_Drive_Statistics [Récupération des statistiques de lecteur]
Besoin de rassembler des informations sur les lecteurs d’un système? Cela peut être assez facile à faire en utilisant une macro, comme indiqué dans cette astuce.
link: / excel-Selecting_a_Range_of_Cells_Relative_to_the_Current_Cell [Sélection d’une plage de cellules par rapport à la cellule actuelle]
Lors du traitement des informations dans une macro, vous devez souvent sélectionner différentes cellules par rapport aux cellules actuellement sélectionnées. C’est facile à faire une fois que vous savez comment utiliser les décalages dans vos instructions de macro.
link: / excel-Selecting_Visible_Cells_in_a_Macro [Sélection de cellules visibles dans une macro]
Plusieurs fois, vous devez sélectionner uniquement les cellules visibles avant de prendre des mesures. Il est utile de savoir comment effectuer cette sélection spécialisée dans une macro.
link: / excel-Self-Deleting_Macros [Self-Deleting Macros]
Les macros sont très puissantes, mais vous ne voudrez peut-être pas qu’elles soient toujours disponibles pour un utilisateur. Voici quelques moyens de limiter leur utilisation en fonction de la date.
link: / excel-Specifying_Location_for_a_Message_Box [Spécification de l’emplacement pour une boîte de message]
Lors de l’écriture de macros, vous souhaiterez peut-être positionner une boîte de message à un emplacement spécifique de l’écran. Cela ne peut pas être fait dans Excel, mais il existe des moyens de contourner le problème.
link: / excel-Stepping_Through_a_Macro_with_a_Worksheet_Visible [Parcourir une macro avec une feuille de travail visible]
Lors du développement d’une macro, il est souvent nécessaire de parcourir les différentes lignes de code afin de voir ce qui se passe sur la feuille de calcul.
Cela est facile à faire; affichez simplement les fenêtres nécessaires sur l’écran en même temps.
link: / excel-Switching_Windows_in_a_Macro [Changer de Windows dans une macro]
Lorsque plusieurs classeurs sont ouverts en même temps, Excel vous permet de basculer facilement entre ces classeurs. La façon dont vous effectuez la commutation dans une macro est cependant un peu plus complexe.
link: / excel-Telling_which_Worksheets_are_Selected [Dire quelles feuilles de travail sont sélectionnées]
Si votre macro traite des informations sur un certain nombre de feuilles de calcul, il est fort probable que vous ayez besoin de votre macro pour déterminer quelles feuilles de calcul sont réellement sélectionnées. Cette astuce explique comment vous pouvez déterminer ces informations dans votre macro.
link: / excel-Triggering_an_Event_when_a_Worksheet_is_Deactivated [Déclenchement d’un événement lorsqu’une feuille de calcul est désactivée]
Une façon d’utiliser des macros dans un classeur consiste à les déclencher automatiquement lorsque certains événements se produisent. Voici comment déclencher une macro qui s’exécute lorsqu’une feuille de calcul est désactivée (lorsqu’elle perd le focus).
link: / excel-Trouble_Recording_Paste_Special_Formula [Formule spéciale de pâte d’enregistrement de problèmes]
Parfois, lorsque vous effectuez une mise à niveau vers une nouvelle version d’Excel, vous pouvez rencontrer un problème d’enregistrement de macros avec lequel vous n’aviez aucun problème dans la version précédente. Il peut y avoir un certain nombre de raisons au problème, mais parfois il est simplement plus facile de contourner l’enregistrement et de créer la macro à partir de zéro.
link: / excel-Understanding_Macros [Comprendre les macros]
Qu’est-ce qu’une macro? Vous êtes-vous déjà demandé de quoi il s’agissait et comment les utiliser? Cette astuce répond aux principes de base de l’utilisation d’une macro, des différentes manières de les créer et de l’emplacement de stockage.
link: / excel-Understanding_the_For_Next_Structure [Comprendre la structure For … Next]
Une partie de la puissance de VBA est de pouvoir contrôler quand une partie de votre code s’exécute et quand ce n’est pas le cas. Une façon principale de faire cela est d’utiliser la structure For … Next.
link: / excel-Using_Macros_in_Protected_Workbooks [Utilisation de macros dans des classeurs protégés]
Vous rencontrez des problèmes lors de l’utilisation de macros dans un classeur protégé? Il peut y avoir un certain nombre de causes (et de solutions) comme décrit dans cette astuce.
link: / excel-Using_Named_Ranges_in_a_Macro [Utilisation des plages nommées dans une macro]
Les plages nommées sont une excellente fonctionnalité fournie par Excel. Vous pouvez définir toutes sortes de plages nommées dans un classeur, mais comment y accéder lors de la création de macros? Cette astuce explique les différentes manières d’accéder à ces plages.
link: / excel-Writing_a_Macro_from_Scratch [Ecrire une macro à partir de zéro]
L’enregistrement de macros est une excellente approche pour démarrer avec les macros, mais à un moment donné, vous devrez en créer une à partir de zéro. Voici comment procéder.
Voir Aller plus loin en haut de la colonne de gauche pour les sujets connexes …