Exemples de macros Excel. Comment activer les macros dans Excel. Macros dans Excel : exemples

Les tableaux Excel sont l’un des moyens les plus populaires de stocker et d’organiser des informations. Si vous introduisez des macros dans Excel, les capacités du programme peuvent être presque doublées. Par exemple, les macros aident à automatiser les processus de routine et à accélérer le travail monotone. Ils sont souvent utilisés par des spécialistes qui traduisent des rapports de 1C vers Excel. À l’aide du code intégré, ils peuvent facilement être réduits à un seul modèle standard.

Que sont les macros Excel ?

Les macros sont utilisées non seulement dans les tableaux, mais également dans Microsoft Office. Il s'agit de code créé à l'aide de Visual Basic pour Applications. Si vous êtes partiellement familier avec la programmation Web, vous pouvez faire une analogie avec Javascript. Les macros Excel font à peu près la même chose que Javascript avec les données HTML.

Une petite partie de ce qu'une macro peut faire dans les applications bureautiques :

Alignez le document selon son style et formatez-le ;
. effectuer des opérations avec des données numériques et textuelles ;
. recourir à des fichiers externes (textes, bases de données et autres) ;
. créer de nouveaux documents à partir de zéro ;
. combinez plusieurs actions et exécutez-les automatiquement.

Pour travailler avec le tableau, vous pouvez le créer vous-même ou télécharger une version prête à l'emploi sur Internet. Les macros ne doivent être téléchargées qu'à partir de sites de confiance, sinon vous pourriez introduire un virus dans Excel.

En quoi les macros dans Excel peuvent-elles être dangereuses ?

Endommager des fichiers sur votre PC ;
. voler des données confidentielles.

Le virus est introduit pendant l'exécution de l'une des applications bureautiques - Word ou Excel. Une fois que vous aurez arrêté de travailler, le virus commencera à fonctionner de manière autonome et infectera l’ensemble du système.

Une macro malveillante fonctionne également comme intermédiaire pour introduire des menaces dans le système. Dans ce cas, il s’agit d’une sorte de passerelle pour l’introduction et la génération de logiciels chevaux de Troie. Il ne sera plus contrôlé par une macro modifiée, mais par le système d'exploitation lui-même, et donc la menace se généralise. Il n'est pas toujours possible de guérir de tels virus ; il faut parfois changer complètement le système d'exploitation Windows ou le disque dur du PC (en fonction des tâches définies par le pirate informatique lors de l'écriture du code).

Vous pouvez choisir n'importe quelle méthode de protection contre ces macros. L'option la plus populaire consiste à augmenter le niveau de sécurité d'Excel, mais dans ce cas, le programme risque de ne plus prendre en charge vos macros utiles d'origine. Vous ne devez pas faire confiance aux fichiers provenant de sources inconnues, car ils pourraient être infectés. Même une macro reçue du PC de votre collègue peut être dangereuse. Si un ami vous a donné un fichier avec lequel travailler et qui prend en charge l'utilisation de macros, alors avant d'autoriser le système à l'utiliser, clarifiez comment il a reçu cette macro.

La meilleure option est d'apprendre de manière indépendante l'art de créer des macros adaptées à vos besoins. Dans ce cas, vous pouvez pleinement garantir leur qualité et leur sécurité.

Comment enregistrer des macros dans Excel

Le moyen le plus simple de créer une macro est de la programmer directement dans Excel. Pour ce faire, vous aurez besoin d'un tableau avec les données saisies et d'un peu de connaissances pour permettre l'enregistrement d'un tel code dans le programme.

La création commence par le menu Affichage. Dans celui-ci, vous devez sélectionner la position « Macros » et la commande « Enregistrer la macro ». Ensuite, vous devez spécifier un nom sans espaces, par exemple « Format » (si le code sera chargé de modifier le format du texte ou des cellules).

Après quoi toutes vos actions seront automatiquement enregistrées et converties en code macro. Un bouton avec un petit carré (« Stop ») apparaîtra en bas du document, en cliquant sur lequel vous pourrez arrêter l'enregistrement. De cette façon, vous pouvez enregistrer automatiquement des macros dans Excel, dont vous pourrez analyser des exemples plus en détail au cours du processus d'apprentissage.

Comment activer les macros dans Excel

Afin d'activer une macro enregistrée dans d'autres documents, vous devez la sauvegarder après avoir vidé le tableau. Le format du document doit être défini sur XLTM (c'est celui qui prend en charge les macros).

Lorsque vous accédez ultérieurement à votre document pour activer les macros dans Excel, vous devez d'abord les activer dans la ligne supérieure contextuelle. Ensuite, vous devez importer les données qui seront modifiées par la macro à partir d'un tableau CSV classique. Une fois l'importation terminée, vous devez revenir au menu « Affichage », y sélectionner « Macros » et trouver le nom du code que vous avez créé dans la liste. Enfin, cliquez sur le bouton « Exécuter ». Après quoi, vous verrez comment le programme, selon l'algorithme que vous avez spécifié précédemment, effectue les calculs et formate le document.

Comment puis-je voir le code de la macro ?

Toutes les macros créées dans Excel sont écrites automatiquement, sans intervention humaine. Le programme compose indépendamment le code du programme, qui peut être ouvert à partir du tableau en l'appelant à l'aide du menu.

Pour ce faire, vous devez exécuter les commandes séquentiellement :

Développez l'onglet « Affichage » ;
. ouvrez « Macros » ;
. sélectionnez le nom de la macro requise ;
. Appelez une fenêtre avec son code à l'aide du bouton « Modifier ».

Dans la nouvelle boîte de dialogue, vous pouvez éditer et modifier la macro. Vous y verrez le code que le programme a enregistré automatiquement et vous pourrez ajouter manuellement n'importe quelle action. Après avoir enregistré les informations, la macro fonctionnera différemment lors de l'importation de nouvelles données.

Comment démarrer une macro en cliquant sur une cellule

Supposons que vous souhaitiez qu'une macro s'exécute lorsque la cellule A1 est sélectionnée. Pour qu'une cellule sélectionnée dans Excel exécute une macro, vous devez ajouter le code du programme au premier module :

Sous-feuille de travail privée_SelectionChange (ByVal Target As Range)
Si Target.Address = "$A$1" Alors : Appelez module1
Fin du sous-marin

Le meilleur tutoriel pour vous aider à apprendre les macros dans Excel est un tutoriel. Il existe plusieurs exemples similaires, et pour ceux qui viennent tout juste de se familiariser avec toutes les capacités de la table, c'est la meilleure façon d'apprendre à utiliser pleinement ses fonctionnalités.

Où peut-on apprendre à travailler avec des macros ?

Il existe plusieurs façons d'apprendre à créer des macros plus complexes. Ils doivent se distinguer par une logique et une séquence d'actions clairement définie. De telles macros ne peuvent être créées qu'en écrivant manuellement du code VBA. Pour créer des macros complexes, vous devrez passer du temps à apprendre les subtilités du langage de programmation Visual Basic.

De nos jours, pour apprendre toutes les capacités d'Excel, de nombreux cours spéciaux ont été créés qui durent plusieurs semaines, mais pour y assister, vous devrez vous rendre dans un centre de formation ou assister à des webinaires (ce qui n'est pas toujours pratique en raison du décalage horaire). . Mais un moyen plus efficace et plus simple d’apprendre à créer des macros dans Excel est un didacticiel avec des exemples. Vous pouvez l'étudier à tout moment qui vous convient, et des didacticiels étape par étape vous aideront à développer différentes options : des codes les plus simples aux plus complexes. Microsoft Excel est un éditeur de feuille de calcul universel qui peut être utilisé pour résoudre de nombreux problèmes complexes.

Exemples

Il existe des codes qui vous permettent d'automatiser diverses tâches. Ainsi, à titre d'exemple, regardons la macro d'insertion de lignes. Cela ressemble à ceci :

Sous-macro1()

Bon après-midi

Je souhaite consacrer cet article à une section aussi vaste de MS Excel que les macros, ou plutôt, commençons par le début et voyons comment créer une macro dans Excel, à quoi elle sert et comment l'utiliser dans votre travail.

Comme vous le savez par expérience, lorsque vous travaillez avec une macro, il y a beaucoup de « routines », c'est-à-dire que les mêmes opérations et actions sont effectuées qui sont nécessaires pour obtenir le résultat, cela peut consister à remplir le même type de tableaux. ou des formulaires, traitant des données, similaires aux rapports hebdomadaires, mensuels, etc. Mais l'utilisation de macros vous permettra d'effectuer ces actions automatiquement, en utilisant au maximum les capacités d'Excel, en transférant ces opérations routinières et monotones sur les puissantes épaules d'Excel. En outre, la raison de l'utilisation de macros peut être d'ajouter les fonctionnalités nécessaires qui ne sont pas encore implémentées dans les fonctions Excel standard (par exemple, sortie, collecte de données sur une seule feuille, etc.).

Si vous n’avez jamais entendu parler d’une macro, la définition la plus précise serait : ce sont des actions programmées pour une séquence spécifique et écrites dans l'environnement de programmation en Visual Basic pour Applications (VBA). L’exécution d’une macro peut être effectuée plusieurs fois, ce qui obligera Excel à effectuer toute séquence d’actions dont nous avons besoin et que nous n’aimons tout simplement pas ou que nous ne voulons pas faire manuellement. Malgré la grande variété de langages de programmation pour l'ensemble du complexe Microsoft Office, VBA est la norme et fonctionne dans n'importe quelle application de la suite bureautique.

Il existe donc 2 façons de créer une macro dans Excel :

Créer une macro dans Excelutiliser un enregistreur de macros

Tout d'abord, clarifions ce qu'est un enregistreur de macros et ce qu'une macro a à voir avec lui.

Enregistreur de macros est un petit programme intégré à Excel qui interprète toute action de l'utilisateur dans les codes du langage de programmation VBA et écrit les commandes obtenues au cours du processus de travail dans le module du programme. Autrement dit, si nous créons le rapport quotidien dont nous avons besoin avec l'enregistreur de macros activé, l'enregistreur de macros enregistrera tout dans ses commandes étape par étape et, par conséquent, créera une macro qui créera automatiquement un rapport quotidien.

Cette méthode est très utile pour ceux qui n'ont pas les compétences et les connaissances nécessaires pour travailler dans l'environnement linguistique VBA. Mais une telle facilité d'exécution et d'enregistrement d'une macro a ses inconvénients, ainsi que ses avantages :

  • Un enregistreur de macros ne peut enregistrer que ce qu'il peut toucher, ce qui signifie qu'il ne peut enregistrer des actions que lorsque les boutons, les icônes, les commandes de menu et tout le reste ne sont pas disponibles ;
  • Si une erreur a été commise pendant la période d'enregistrement, elle sera également enregistrée. Mais vous pouvez utiliser le bouton Annuler la dernière action pour effacer la dernière commande que vous avez mal écrite dans VBA ;
  • L'enregistrement dans l'enregistreur de macros s'effectue uniquement dans les limites de la fenêtre MS Excel, et si vous fermez le programme ou en allumez un autre, l'enregistrement sera arrêté et ne sera plus effectué.

Pour activer l'enregistreur de macros pour l'enregistrement, vous devez effectuer les étapes suivantes :


La prochaine étape du travail avec l'enregistreur de macros sera de configurer ses paramètres pour un enregistrement ultérieur de la macro, cela peut être fait dans la fenêtre ; "Enregistrer une macro", Où:

  • Champ de nom de macro- vous pouvez écrire un nom que vous comprenez dans n'importe quelle langue, mais il doit commencer par une lettre et ne contenir aucun signe de ponctuation ni espace ;
  • Champ de raccourci clavier- vous sera utilisé à l'avenir pour démarrer rapidement votre macro. Si vous devez en enregistrer un nouveau, cette option sera disponible dans le menu "Outils" - "Macro" - "Macros" - "Exécuter" ou sur l'onglet "Promoteur" appuyer sur un bouton "Macro";
  • Champ "Enregistrer dans..."— vous pouvez spécifier l'emplacement où le texte de la macro sera enregistré (mais pas envoyé), et il existe 3 options :
    • "Ce livre"— la macro sera enregistrée dans le module du classeur en cours et ne pourra être exécutée que lorsque ce classeur Excel est ouvert ;
    • "Nouveau livre"— la macro sera enregistrée dans le modèle sur la base duquel un nouveau classeur vide est créé dans Excel, ce qui signifie que la macro deviendra disponible dans tous les classeurs qui seront créés sur cet ordinateur à partir de ce moment ;
    • "Livre de macros personnelles"- est un classeur de macros Excel spécial appelé "Personnel.xls" et est utilisé comme bibliothèque de stockage spéciale de macros. Au démarrage, les macros du classeur « Personal.xls » sont chargées en mémoire et peuvent être lancées dans n'importe quel classeur à tout moment.
  • Champ "Description"- ici vous pouvez décrire ce que la macro doit faire et comment, pourquoi elle a été créée et quelles fonctions elle a, il s'agit d'un champ purement informatif, appelé mémoire.

Après avoir lancé et enregistré votre macro, en effectuant toutes les actions nécessaires, vous pouvez arrêter l'enregistrement avec la commande "Arrêter l'enregistrement" et votre macro sera créée à l'aide de l'enregistreur de macros.

Créer une macro dans Exceldans l'éditeur Visual Basic.

Dans cette méthode, nous verrons comment créer une macro dans Excel via l'éditeur de programme VBA qui, comme je l'ai dit ci-dessus, est intégré à n'importe quelle version d'Excel.

Le lancement de l'éditeur de programme VBA s'effectue différemment selon la version de votre programme Excel :

  • dans les versions d'Excel 2003 et versions ultérieures, nous avons besoin dans le menu "Service", sélectionnez l'élément "Macro" et appuyez sur "Éditeur Visual Basic";
  • dans les versions d'Excel 2007 et versions ultérieures, nous avons besoin sur l'onglet "Promoteur" appuyez sur le bouton "Éditeur Visual Basic". Si vous ne trouvez pas cet onglet, vous devez l'activer en sélectionnant l'élément de menu "Fichier" - "Options" - "Personnaliser le ruban" et dans la boîte de dialogue, utilisez la case à cocher pour activer l'onglet "Promoteur".

Dans la fenêtre qui s'ouvre, vous pouvez voir l'interface de l'éditeur VBA, tout ici est écrit en anglais et il n'y a pas de localisation, il n'est pas nécessaire de le chercher, mais il suffit de l'accepter et de travailler, d'autant plus que ce n'est qu'incompréhensible au début, et ensuite tout deviendra familier.

Alors, comment travailler dans l'éditeur VBA, où est stocké et comment créer une macro dans Excel. Des questions de cette nature se posent immédiatement dès que vous voyez l'éditeur, et nous allons maintenant les examiner toutes.

Toutes nos macros seront stockées dans ce qu'on appelle modules logiciels. Dans n'importe quel livre de n'importe quelle version d'Excel, nous pouvons créer n'importe quel module de programme en n'importe quelle quantité et y placer toutes les macros que nous avons créées. Un module peut contenir n'importe quel nombre de macros dont vous avez besoin ou que vous créez. Les modules sont disponibles dans la fenêtre "Explorateur de projet" et sont situés dans le coin supérieur gauche de l'éditeur de macros (vous pouvez également l'appeler avec la combinaison de touches CTRL+R).

Les modules de programme dans l'éditeur VBA existent sous plusieurs types et sont utilisés pour différentes options et situations :


En fait, la macro elle-même, lorsqu'on travaille dans un module standard, ressemble à ceci :

Regardons un exemple de macro fonctionnelle :

  • Toutes les macros commenceront nécessairement par l'opérateur Sous, suivi du nom de votre macro et d'une liste d'arguments entre parenthèses. Dans les cas où il n'y a aucun argument, les parenthèses doivent rester vides ;
  • Toutes les macros doivent se terminer par l'opérateur Fin du sous-marin;
  • Données échangées entre opérateurs Sous Et Fin du sous-marin, est le corps de la macro qui s'exécutera lors de l'exécution de la macro. Dans l'exemple, la macro vérifie et, lors de la saisie des données, les trouve dans la liste de la base de données et affiche la valeur spécifiée par les critères.

Comme vous pouvez le constater, la deuxième méthode est plus difficile à utiliser et à comprendre si vous n’avez aucune expérience en programmation en général ou en VBA en particulier. Il est très difficile de comprendre et de déterminer quelles commandes sont saisies et comment, quels arguments elles utilisent pour que la macro commence à faire son travail automatiquement. Mais celui qui marche maîtrisera le chemin, comme disaient les anciens sages, et donc il ne faut pas abandonner, mais suivre les commandements du grand-père Lénine...

Création d'un bouton pour exécuter des macros dans la barre d'outils

Comme je l'ai dit plus tôt, vous pouvez appeler une procédure de macro avec une combinaison de touches de raccourci, mais il est très fastidieux de se rappeler quelle combinaison est attribuée à qui, le mieux est donc de créer un bouton pour exécuter la macro. Les boutons peuvent être créés de plusieurs types, à savoir :


Cette méthode est disponible pour n'importe quelle version de MS Excel et consiste dans le fait que nous placerons le bouton directement sur notre feuille de calcul en tant qu'objet graphique. Pour ce faire, vous avez besoin de :

  • Dans MS Excel 2003 et versions antérieures aller au menu "Voir", choisir "Barre d'outils" et appuyez sur le bouton "Formulaires".
  • Dans MS Excel 2007 et versions ultérieures dont tu as besoin sur l'onglet "Promoteur" ouvrir le menu déroulant "Insérer" et sélectionnez un objet "Bouton".

Après tout cela, vous devez dessiner un bouton sur votre feuille tout en maintenant enfoncé le bouton gauche de la souris. Une fois le processus de dessin terminé, une fenêtre s'ouvrira automatiquement dans laquelle vous devrez sélectionner la macro qui doit être exécutée lorsque vous cliquez sur votre bouton.

Comment créer des fonctions personnalisées dans VBA

En principe, la création de fonctions dites définies par l'utilisateur n'est pas très différente de la création d'une macro ordinaire dans un module de programme standard. La différence entre ces concepts est que la macro effectuera les actions qu'elle contient avec des objets livre ou feuille (ce sont des formules, des cellules, etc.), mais la fonction utilisateur ne fonctionne qu'avec les valeurs qu'elle reçoit de notre part. et ce sont les arguments des données initiales pour les calculs.

Par exemple, pour créer une fonction personnalisée pour la taxe sur la valeur ajoutée, également appelée TVA, nous devons ouvrir notre éditeur VBA et ajouter un nouveau module, sélectionner dans le menu "Insérer" paragraphe "Module" et entrez ici le texte de notre fonction : Il est à noter que la principale différence entre une fonction et une macro réside dans l'en-tête. Fonction remplacé Sous et il y a une liste complète d'arguments, dans notre exemple c'est Somme. Une fois notre code saisi, il deviendra disponible dans la fenêtre standard de l'assistant de fonction, située dans le menu "Formules", paragraphe "Insérer une fonction".
Et sélectionnez une catégorie "Défini par l'utilisateur" dans lequel notre fonction écrite sera affichée "NDS".
Après avoir sélectionné notre fonction, vous pouvez placer le curseur sur la cellule avec l'argument, qui contiendra le montant pour lequel nous calculons la TVA, tout se passe comme avec une fonction normale.
Et c'est tout pour moi ! J'espère vraiment que article sur la façon de créer une macro dans Excel vous a été clair et utile. Je serais très reconnaissant pour vos commentaires, car ils sont un indicateur de lisibilité et m'inspirent pour écrire de nouveaux articles ! Partagez ce que vous lisez avec vos amis et aimez-le !

Des objets tels que des macros dans Excel vous aideront à organiser correctement le processus de travail dans Excel.

Examinons de plus près toutes les fonctionnalités permettant de travailler avec ces objets dans le progiciel MS Office.

Grâce à l'utilisation de macros, chaque cellule de votre document peut être automatisée. Cela est dû au fait que l'utilisateur enregistre toutes les actions lors de leur création.

Que sont les macros et pourquoi sont-elles nécessaires ?

Vous pouvez travailler avec des macros dans n'importe quel programme MS Office. Tout d’abord, ils sont nécessaires pour organiser avec compétence le travail de l’utilisateur dans le programme.

Ils sont nécessaires pour ne pas réaliser plusieurs dizaines de fois le même type de tâches et d’actions.

Leur création et leur utilisation permettront de gagner considérablement du temps et de maximiser l'automatisation du robot dans le programme.

Important! Grâce à la macro créée, vous pouvez simplement effectuer le travail instantanément, alors que le faire manuellement prendrait beaucoup de temps.

Son corps est essentiellement constitué d'instructions qui indiquent au programme quoi faire si les utilisateurs choisissent l'un ou l'autre.

On peut également rencontrer la notion de macro dans Word, mais dans Excel elle présente plusieurs avantages :

  • Premièrement, il combine toutes les instructions en un seul script d'exécution complet, ce qui vous permet d'optimiser la charge du programme et de commencer à travailler plus rapidement ;
  • Vous pouvez l'appeler à l'aide d'une touche de la barre d'outils ou à l'aide d'une combinaison de touches spéciale. Cela permettra à l'utilisateur de ne pas lever les yeux sur le clavier pendant qu'il travaille ;

Nous notons deux autres articles qui pourraientvous aurez besoin de :

Créer vos propres macros dans Excel 2010, 2007, 2013

Regardons de plus près des exemples de création dans Excel 2007, 2013 :

  • Ouvrez le document avec lequel vous travaillez et pour lequel vous souhaitez créer une macro. D'ailleurs, chaque cellule sur laquelle une action est effectuée doit être élaborée ;
  • Affichez l'onglet développeur dans le ruban. Pour ce faire, ouvrez l'élément de menu « Fichier » et ouvrez les options comme indiqué sur la figure ;

  • Sélectionnez ensuite le paramètre du ruban et ajoutez la fenêtre du développeur à la liste des fenêtres principales, comme indiqué dans l'image ci-dessous ;

  • Vous pouvez maintenant procéder directement à la création de la macro utilisateur elle-même.
    Après sa création, chaque cellule sera automatisée - cela signifie que n'importe quelle cellule du document utilisateur effectuera le même type d'action que celle spécifiée par l'utilisateur ;
  • Recherchez une clé spéciale pour la création dans l'onglet développeur. Son emplacement est indiqué dans la figure ci-dessous ;

  • Appuyez sur la touche. Une fenêtre de création apparaîtra dans laquelle vous devrez spécifier un nom et une combinaison de touches avec laquelle il sera activé. Vous pouvez également ajouter une brève description du fonctionnement de la macro.
    Il faut le faire si vous en avez trop, pour ne pas vous tromper ;

  • Ensuite, cliquez sur OK. La fenêtre se fermera et le processus d'enregistrement commencera. Pour arrêter l'enregistrement, appuyez sur la touche correspondante du panneau de commande ;

  • Commencez maintenant à effectuer les actions qui seront enregistrées dans la macro. Chaque cellule peut être remplie de certaines données.
    Vous pouvez également travailler avec une seule cellule ; après avoir enregistré et activé la macro, la même cellule sera enregistrée selon l'algorithme spécifié ;
  • N'oubliez pas d'appuyer sur le bouton d'arrêt de l'enregistrement des données. Après avoir terminé toutes les étapes ci-dessus, il sera enregistré et sauvegardé dans le programme.

Comment activer et utiliser des macros dans Excel

Pour ce faire, suivez les instructions ci-dessous :

  • Dans l'onglet développeur, recherchez un bouton appelé Macros. Cliquez dessus ;

  • Sélectionnez la macro dont vous avez besoin dans la liste et cliquez sur le bouton « Exécuter » ;

  • Vous pouvez également exécuter la macro requise à l'aide du raccourci clavier spécifié par l'utilisateur lors de la phase initiale de sa création ;
  • Après avoir cliqué sur le bouton Exécuter, toutes les actions effectuées pendant l'enregistrement seront à nouveau exécutées.

La macro est plus pratique à utiliser lorsqu'une certaine cellule doit être copiée plusieurs fois.

Macro pour mettre en évidence la cellule A1 sur chaque feuille du classeur actif. Cela provoque également le déplacement de l'écran.

Sub A1SelectionEachSheet() Dim i As Integer Application.ScreenUpdating = False For i = 1 To Sheets.Count Sheets(i).Select ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 1 Range("a1").Sélectionnez les feuilles suivantes (1) .Sélectionnez Application.ScreenUpdating = True End Sub

Macro pour copier la feuille actuelle un nombre de fois spécifié. Utile pour tester certaines macros - apporter des modifications, les vérifier sur une copie des données. Nous n'avons plus de copies : réexécutez la macro.

Sub SimpleCopy() Dim i As Integer, j As Integer i = Application.InputBox("Entrez le nombre de copies de la feuille actuelle") Application.ScreenUpdating = False For j = 1 To i ActiveSheet.Copy after:=Sheets(Sheets .Count) ActiveSheet .Name = "Copie" & j Suivant j Application.ScreenUpdating = True End Sub

Créer des feuilles avec des titres d'une plage spécifiée sur une feuille

Sub CreateFromList() Dim cell As Range For Each cell In Selection Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = cell.Value Cellule suivante End Sub

Markros pour avoir envoyé une lettre avec du retard. Macro modifiée du livre Professional VBA Programming de John Walkenbach

Sub SendLetter() Dim OutApp As Object Dim OutMail As Object Définir OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon en cas d'erreur GoTo nettoyage Définir OutMail = OutApp.CreateItem(0) en cas d'erreur Reprendre ensuite avec OutMail .To = " [email protégé]" .Subject = "Rapport de ventes" .Attachments.Add "C:\Test.txt" .Body = "Texte de l'e-mail" .DeferredDeliveryTime = Remplacer (Date, ".", "/") & " 11:00:00 " .send ".Affichage pour générer une lettre et l'ouvrir End With On Error GoTo 0 Set OutMail = Nothing cleanup: Set OutApp = Nothing End Sub

Macro de table des matières légèrement modifiée de Nikolai Pavlov.
Si une feuille « Table des matières » existe déjà dans le livre, la macro vous propose de la supprimer. Sinon, crée une feuille « Table des matières » et insère des liens avec des noms de feuilles

Sub TableOfContent() Dim feuille As Worksheet Dim cellule As Range Dim Réponse As Integer Application.ScreenUpdating = False Avec ActiveWorkbook pour chaque feuille de calcul dans ActiveWorkbook.Worksheets If Worksheet.Name = "Table of Contents" Then Answer = MsgBox ("Le classeur a un feuille portant le nom Table des matières. Supprimez-le?", vbOuiNon) Si Réponse = vbNon Alors Quittez le Sous Si Réponse = vbOui Alors Application.DisplayAlerts = False Worksheet.Delete Application.DisplayAlerts = True End If End If Next End With Sheets (Array (1)).Sélectionnez Sheets.Add Sheets(1).Name = "Table des matières" avec ActiveWorkbook pour chaque feuille dans ActiveWorkbook.Worksheets si sheet.Name<>"Table des matières", puis définissez cell = Worksheets(1).Cells(sheet.Index, 1) .Worksheets(1).Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:=""" & sheet .Name & """ & "!A1" cell.Formula = sheet.Name End Si la feuille suivante se termine par des lignes ("1:1").Delete Application.ScreenUpdating = True End Sub

Tri des feuilles à partir des assistants VBA. La macro trie également les feuilles cachées. Ne fonctionnera pas si le livre a une structure protégée

Sub SORT_ALL_SHEETS() Application.ScreenUpdating = False: Application.EnableEvents = False Dim iSht As Worksheet, oDict As Object, i%, j% Set oDict = CreateObject("Scripting.Dictionary") " mémorisez l'état de visibilité de chaque feuille et faites tout ce qui est visible pour chaque iSht dans ActiveWorkbook.Sheets oDict.Item(iSht.Name) = iSht.Visible : iSht.Visible = True Next With ActiveWorkbook " tri des feuilles visibles pour i = 1 à .Sheets.Count - 1 pour j = i + 1 À .Sheets.Count Si UCase(.Sheets(i).Name) > UCase(.Sheets(j).Name) Then .Sheets(j).Move Before:=.Sheets(i) Suivant j Suivant i Terminer par " restaurer l'état de visibilité d'origine de chaque feuille pour chaque iSht dans ActiveWorkbook.Sheets iSht.Visible = oDict.Item(iSht.Name) Next Application.EnableEvents = True : Application.ScreenUpdating = True End Sub

Importation des colonnes « Field1 » et « Field2 » depuis la feuille « Sheet1 » du fichier Excel « C:\Manager.xls » via la connexion ADODB et insertion du contenu à partir de la cellule A1 de la feuille actuelle

Les macros Microsoft Excel peuvent accélérer considérablement le travail avec des documents dans cet éditeur de feuille de calcul. Ceci est réalisé en automatisant les actions répétitives écrites dans un code spécial. Voyons comment créer des macros dans Excel et comment elles peuvent être modifiées.

Une macro peut être enregistrée de deux manières :

  • automatiquement ;
  • manuellement.

En utilisant la première option, vous enregistrez simplement certaines actions dans Microsoft Excel que vous effectuez à un moment donné. Ensuite, vous pouvez lire cet enregistrement. Cette méthode est très simple et ne nécessite pas de connaissance du code, mais son utilisation en pratique est assez limitée.

L'enregistrement manuel des macros nécessite au contraire des connaissances en programmation, puisque le code est tapé manuellement à partir du clavier. Mais un code écrit correctement de cette manière peut accélérer considérablement l'exécution des processus.

Enregistrement automatique des macros

Avant de commencer à enregistrer automatiquement des macros, vous en avez besoin.

La fenêtre des paramètres d'enregistrement des macros s'ouvre. Ici, vous pouvez spécifier n'importe quel nom de macro si celui par défaut ne vous convient pas. L'essentiel est que le nom commence par une lettre et non par un chiffre. De plus, le titre ne doit pas contenir d’espaces. Nous avons laissé le nom par défaut – « Macro1 ».

Ici, si vous le souhaitez, vous pouvez définir une combinaison de touches qui, une fois enfoncée, lancera la macro. La première clé doit être la touche Ctrl et l'utilisateur définit la deuxième clé indépendamment. Par exemple, nous avons défini la touche M comme exemple.

Ensuite, vous devez déterminer où la macro sera stockée. Par défaut, il sera stocké dans le même classeur (fichier), mais si vous le souhaitez, vous pouvez définir le stockage dans un nouveau classeur ou dans un classeur de macros distinct. Nous laisserons la valeur par défaut.

Dans le champ des paramètres de macro le plus bas, vous pouvez laisser n'importe quelle description de la macro adaptée au contexte. Mais ce n’est pas nécessaire.

Lorsque tous les réglages sont terminés, cliquez sur le bouton « OK ».

Après cela, toutes vos actions dans ce classeur Excel (fichier) seront enregistrées dans une macro jusqu'à ce que vous arrêtiez l'enregistrement.

Par exemple, notons l'opération arithmétique la plus simple : additionner le contenu de trois cellules (=C4+C5+C6).

Après cela, cliquez sur le bouton « Arrêter l'enregistrement ». Ce bouton a été converti à partir du bouton "Enregistrer une macro" après l'activation de l'enregistrement.

Exécuter une macro

Afin de vérifier le fonctionnement de la macro enregistrée, cliquez dans le même bloc outil « Code » sur le bouton « Macros », ou appuyez sur la combinaison de touches Alt+F8.

Après cela, une fenêtre s'ouvre avec une liste de macros enregistrées. Nous recherchons la macro que nous avons enregistrée, la sélectionnons et cliquons sur le bouton « Exécuter ».

Vous pouvez le faire encore plus simplement et ne même pas appeler la fenêtre de sélection de macro. Nous nous souvenons que nous avons écrit une combinaison de « touches de raccourci » pour appeler rapidement une macro. Dans notre cas, c'est Ctrl+M. Nous tapons cette combinaison sur le clavier, après quoi la macro s'exécute.

Comme vous pouvez le constater, la macro a effectué exactement toutes les actions enregistrées précédemment.

Modification d'une macro

Pour éditer la macro, cliquez à nouveau sur le bouton « Macros ». Dans la fenêtre qui s'ouvre, sélectionnez la macro souhaitée et cliquez sur le bouton « Modifier ».

Microsoft Visual Basic (VBE) s'ouvre, l'environnement dans lequel les macros sont modifiées.

Chaque enregistrement de macro commence par la commande Sub et se termine par la commande End Sub. Immédiatement après la commande Sub se trouve le nom de la macro. L'instruction « Range(« … »).Select spécifie la sélection de cellules. Par exemple, la commande "Range("C4").Select sélectionne la cellule C4. L'opérateur « ActiveCell.FormulaR1C1 » est utilisé pour enregistrer des actions dans des formules et pour d'autres calculs.

Essayons de changer un peu la macro. Pour ce faire, ajoutez l'expression suivante à la macro :

Plage("C3").Sélectionnez
ActiveCell.FormulaR1C1 = "11"

L’expression « ActiveCell.FormulaR1C1 = « =R[-3]C+R[-2]C+R[-1]C » » sera remplacée par « ActiveCell.FormulaR1C1 = « = R[-4]C+R [-3 ]C+R[-2]C+R[-1]C"".

Fermez l'éditeur et exécutez la macro comme avant. Comme vous pouvez le constater, en raison des modifications que nous avons introduites, une autre cellule contenant des données a été ajoutée. Il a également été inclus dans le calcul du montant total.

Si la macro est trop volumineuse, son exécution peut prendre beaucoup de temps. Mais en apportant une modification manuelle au code, nous pouvons accélérer le processus. Ajoutez la commande « Application.ScreenUpdating = False ». Cela permettra d'économiser de la puissance de calcul et donc d'accélérer le travail. Ceci est obtenu en n'actualisant pas l'écran pendant que des actions de calcul sont en cours. Pour reprendre la mise à jour après l'exécution de la macro, à la fin de celle-ci nous écrivons la commande « Application.ScreenUpdating = True »

Ajoutons également la commande « Application.Calculation = xlCalculationManual » au début du code, et ajoutons « Application.Calculation = xlCalculationAutomatic » à la fin du code. En faisant cela, au début de la macro nous désactivons le recalcul automatique du résultat après chaque changement de cellule, et à la fin de la macro nous l'activons. De cette façon, Excel calculera le résultat une seule fois, plutôt que de le recalculer constamment, ce qui permettra de gagner du temps.

Écrire du code macro à partir de zéro

Les utilisateurs avancés peuvent non seulement éditer et optimiser les macros enregistrées, mais également écrire du code de macro à partir de zéro. Pour commencer, vous devez cliquer sur le bouton « Visual Basic », qui se trouve au tout début du ruban du développeur.

Après cela, la fenêtre familière de l'éditeur VBE s'ouvre.

Le programmeur y écrit le code de la macro manuellement.

Comme vous pouvez le constater, les macros de Microsoft Excel peuvent accélérer considérablement l'exécution de processus de routine et monotones. Mais, dans la plupart des cas, les macros codées manuellement sont plus adaptées que les actions enregistrées automatiquement. De plus, le code macro peut être optimisé via l'éditeur VBE pour accélérer le processus d'exécution des tâches.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :