L’enregistreur de macros Excel VBA

Le moyen le plus simple de créer une macro consiste à enregistrer les actions de votre feuille de calcul à l’aide d’un outil précieux appelé Enregistrer une macro. Tout ce que vous avez à faire est d’allumer Enregistreur une macro, d’effectuer les actions qui composent la tâche que vous souhaitez automatiser, puis d’éteindre Enregistrer une macro lorsque vous avez terminé votre tâche. Lorsque l’enregistreur de macros est activé, chaque action que vous effectuez – sélection d’une cellule, saisie d’un nombre, formatage d’une plage, à peu près tout – est enregistrée et représentée sous forme de code VBA dans une nouvelle macro. Comme vous le verrez plus tard, lorsque vous exécutez la macro créée par l’enregistreur de macros, votre tâche est traitée automatiquement, comme si vous l’aviez fait manuellement.
L’enregistreur de macros est pratique pour les tâches courantes répétitives que vous préférez ne pas avoir à faire manuellement.

1 Créer votre première macro à partie de l’enregistreur de macros
Supposons que nous ayons besoin de créer une macro qui active une feuille de calcul. Ainsi, si nous avons la feuille Feuil1 actif, nous allons écrire une macro qui active la feuille de calcul Feuil2.
1. Démarrez Microsoft Excel et assurez-vous que le pointeur de cellule se trouve sur la feuille Feuil1.
2. Pour activer l’enregistreur de macro, allez dans l’onglet Développeur de ruban et dans le groupe Code cliquez sur le bouton Enregistrer une macro.

Figure  : Enregistrer une macro

  1. Dans la fenêtre Enregistrer une macro qui s’ouvre, définissez les paramètres requis de la procédure enregistrée : attribuez par exemple, le nom ActiverFeuil2 à la macro, saisissez les explication appropriées dans le champ Description, et laissez le champ Enregistrer la macro dans sans changements. Cliquez sur OK.

Figure : Fenêtre enregistrer une macro

Les champs Nom de la macro et Description de la macro sont utilisés pour spécifier le nom de la macro et sa description. Le nom d’une macro ne doit pas contenir d’espaces et la description est importante pour les macros réutilisables, car après un certain temps, vous aurez du mal à vous rappeler pourquoi telle ou telle macro a été créée. Par défaut, les macros sont nommées Macro1, Macro2, etc. Afin de faciliter la reconnaissance d’une macro, il est préférable de ne pas utiliser de nom standard, mais de lui donner un nom unique qui explique à quoi elle est destinée.

Dans la figure 2, remarquez la petite case à droite de Ctrl + dans la section Touche de raccourci. Vous pouvez placer n’importe quelle lettre de l’alphabet dans ce champ, qui, lorsque vous appuyez avec la touche Ctrl, sera une méthode pratique par laquelle vous pouvez exécuter la macro.

Une touche de raccourci n’est pas obligatoire ; en fait la plupart de vos macros n’en auront pas besoin. Mais si vous souhaitez attribuer une touche de raccourci, prenez la bonne habitude de l’attribuer avec la combinaison Ctrl + Maj et non simplement la touche Ctrl. Excel a attribué les 26 lettres de l’alphabet pour servir de raccourcis intégrés avec la touche Ctrl pour diverses tâches, et vous ferez bien d’éviter de remplacer cette fonctionnalité native. Par exemple, Ctrl + C est la combinaison de touches pour copier du texte. Toutefois, si vous affectez la touche de raccourci Ctrl + C à votre macro, vous remplacerez la valeur par défaut pour cette combinaison de touches et ne pourrez pas utiliser Ctrl + C pour copier du texte dans le classeur contenant la macro. Pour profiter de l’option Touche de raccourci, cliquez dans le champ Touche de raccourci, appuyez sur la touche Maj, et appuyez également sur une touche de l’alphabet telle que la lettre S. Vous aurez créé le raccourci clavier Ctrl + Maj + S, qui n’interférera pas avec l’un des principaux raccourcis clavier intégrés d’Excel.
La liste déroulante Enregistrer la macro dans permet de sélectionner le classeur dans lequel la macro sera enregistrée. Si vous sélectionnez Classeur de macros personnelles, la macro sera enregistrée dans un classeur caché spécial dans lequel les macros sont stockées. Ce classeur est toujours ouvert, bien qu’il soit masqué, et les macros qui y sont enregistrées sont disponibles pour d’autres classeurs. Pour afficher votre classeur de macros personnelles, allez dans l’onglet Affichage et dans le groupe Fenêtre, cliquez sur le bouton Afficher. Si vous sélectionnez Ce classeur dans la liste déroulante (c’est-à-dire le choix proposé par défaut par l’ordinateur), la macro sera enregistrée sur une nouvelle feuille du module dans le classeur actif et si vous sélectionnez Nouveau classeur, elle sera enregistrée dans un nouveau classeur.
4. En mode d’enregistrement macro (Figure 3), allez dans Feuil2 (le pointeur est placé sur la cellule A1).

Figure : Mode d’enregistrement de macro

  1. Cliquez sur le bouton Arrêter l’enregistrement situé dans le groupe Code sous l’onglet Développeur pour arrêter l’enregistrement de la macro.
    6. Enregistrez votre classeur dans un format qui prend en charge les macros : allez dans l’onglet Fichier du ruban et sélectionnez Enregistrer sous. Dans la fenêtre Enregistrement du document qui s’ouvre (Figure 4), sélectionnez un emplacement pour le classeur en le spécifiant dans la partie supérieure de la fenêtre, entrez le nom du classeur et dans le champ Nom de fichier, sélectionnez également le format Classeur Excel dans la zone de liste déroulante Modèle Excel (prenant en charge les macro). Cliquez sur le bouton Enregistrer.
    Figure : Enregistrer un classeur Excel prenant en charge les macros

7.Allez dans l’onglet Développeur et dans le groupe Code cliquez sur le bouton Macros et dans la fenêtre Macro qui s’ouvre, sélectionnez le nom de la macro créée dans la liste (Figure 5) et cliquez sur le bouton Modifier.

Figure : Fenêtre de macro pour un classeur ouvert

L’écran affichera la fenêtre de l’éditeur VBA avec le module standard activé, qui contiendra le code de la macro qui vient d’être enregistrée.

Sub ActiverFeuil2()
'
' ActiverFeuil2 Macro
'
'
    Sheets("Feuil2").Select
End Sub

Commentaires

■ Une macro commence par l’instruction Sub et s’achève par l’instruction End Sub. Nous entrerons plus en profondeur sur la structure des macros dans les prochains chapitres.

■ ActiverFeuil2() est le nom de la macro.

■ L’instruction Sheets(“Feuil2”).Select est le corps de la macro.

  1. Maintenant, sans fermer ce classeur, créez un autre classeur en accédant à l’onglet Fichier du ruban, sélectionnez la commande Nouveau et dans le groupe Modèles disponibles, sélectionnez Nouveau Classeur.
    9. Accédez à l’onglet Développeur du ruban et dans le groupe Code, cliquez sur le bouton Macros.
    10. Dans la fenêtre Macro qui s’ouvre (Figure 6), spécifiez le Nom de la macro créée et cliquez sur le bouton Exécuter. Assurez-vous que dans votre classeur cette macro a activé Feuil2.

Figure: Fenêtre macro

NOTE                                                                                                                 ■■■■■■

Nous venons ainsi de créer notre première macro avec l’outil Enregistrer une macro. Bien s’elle soit assez simple, vous pouvez créer des macros plus complexes avec cette outil.

2 Affecter une macro crée à un bouton

Eh bien, maintenant affectons notre macro créée à un bouton, que nous placerons sur le panneau d’accès rapide. Ainsi, effectuons les étapes suivantes :
1. Faites un clic droit dans la barre d’outils d’accès rapide et sélectionnez Autres commandes… (Figure 7)

Figure: barre d’outils d’accès rapide

  1. Dans la fenêtre Options Excel qui s’ouvre, dans la catégorie Barre d’outils d’accès rapide, sélectionnez l’objet Macros dans la zone de liste déroulante Choisir les commandes dans les catégories suivantes (Figure 8).

Figure : Sélection de l’objet Macros dans la fenêtre Options Excel sous la catégorie Barre d’outils Accès rapide

  1. Sélectionnez la macro ActiverFeuil2 que vous avez créée dans la colonne de gauche et utilisez le bouton Ajouter >> pour la déplacer vers la colonne de droite. Notez que le bouton Modifier est désormais disponible en bas de la colonne de droite : il sert à affecter le bouton à la macro correspondante. Cliquez sur le bouton Modifier.
    4. Dans la fenêtre Modifier le bouton qui s’ouvre (Figure 9), spécifiez le symbole du bouton avec la souris et, si nécessaire, dans le champ Nom d’affichage, modifiez le nom de la macro, qui sera une info-bulle dans la barre d’outils d’accès rapide. Cliquez sur OK.
    Figure : Changer la fenêtre du bouton


Figure: Bouton pour une macro dans la fenêtre Options Excel sous la catégorie Barre d’outils Accès rapide

5. Dans la fenêtre Options Excel de la catégorie Barre d’outils d’accès rapide, le bouton de la macro s’affiche dans la colonne de droite (Figure 10). Cliquez sur OK.
6. Assurez-vous que le bouton avec la macro enregistrée apparaît dans la barre d’outils d’accès rapide.

Figure : Bouton de la macro créée dans la barre d’outils d’accès rapide

3 Automatiser le travail des feuilles de calcul avec des contrôles
Excel dispose également d’un ensemble complet de divers contrôles : bouton de commande, zone de texte, case à cocher, etc., qui, si nécessaire, sont placés sur la feuille de calcul. Pour voir la liste des contrôles disponibles, accédez à l’onglet Développeur et dans le groupe Contrôles, cliquez sur le bouton Insérer.
Figur: Collection de contrôles dans Microsoft Office Excel

Il convient de noter que les contrôles situés dans le groupe Contrôles de formulaire sont principalement destinés à garantir la compatibilité avec les fichiers d’anciennes versions d’Excel (jusqu’à Excel 97) qui utilisent ces contrôles. Ils ont beaucoup moins de capacités que les contrôles situés dans le groupe de contrôles ActiveX. Certains de ces éléments ne peuvent pas du tout être utilisés dans les documents Excel récents (zone de texte, zone de liste, zone de liste déroulante). Cependant, ces contrôles présentent également un certain nombre d’avantages que les contrôles situés dans le panneau Contrôles ActiveX n’ont pas – en particulier, ces contrôles peuvent être placés sur des feuilles de graphique.
Les contrôles ActiveX sont des composants indépendants de diverses applications et peuvent également être utilisés dans Microsoft Excel. Ce groupe comprend également des contrôles similaires à de nombreux contrôles du groupe Contrôles de formulaire (UserForm).
En plus des commandes standard, vous pouvez utiliser des commandes supplémentaires. Excel est livré avec un certain nombre de ces éléments, par exemple, des contrôles multimédias, avec lesquels vous pouvez lire du son ou une vidéo directement à partir de la feuille de calcul. De plus, il est possible de connecter des contrôles qui sont utilisés dans d’autres programmes, ou des contrôles créés séparément.

Dans le module de feuille de calcul, vous pouvez créer des procédures qui gèrent certains événements qui se produisent avec des contrôles. Par exemple, appuyer sur un bouton, sélectionner un élément de la liste, sélectionner une case d’option, définir une case à cocher, etc. conduira automatiquement à un calcul, à la construction de diagrammes ou à la modification de leur type, etc. Dans le chapitre 14, nous entrerons plus en profondeur et nous familiariserons avec les commandes et la possibilité d’automatiser les feuilles de calcul. Nous allons ici donner juste un petit exemple d’utilisation du contrôle Bouton de commande (CommandButton), ainsi que l’événement Click qui lui est associé, qui est généré lorsque le bouton est enfoncé.

4 Utilisation du contrôle Bouton de commande sur une feuille de calcul
Nous allons présenter un exemple de l’utilisation du contrôle de commande du groupe Contrôles ActiveX sur une feuille de calcul. Supposons que lorsque nous cliquons sur le bouton de commande, que nous placerons sur la feuille de calcul Feuil1, l’activation de la feuille de calcul Feuil2 sera effectuée.
1. Démarrez Excel et assurez-vous que le pointeur de cellule se trouve sur la feuille de calcul Feuil1.
2. Accédez à l’onglet Développeur et dans le groupe Contrôles, cliquez sur la zone de liste déroulante Insérer.
3. Cliquez sur le contrôle bouton de commande (CommandButton) du groupe Contrôles ActiveX et accédez directement à la feuille de calcul, le pointeur se transforme en une croix fine.

  1. Sélectionnez un emplacement sur la feuille de calcul, appuyez sur le bouton gauche de la souris et, sans le relâcher, dessinez un bouton de la taille requise, puis relâchez le bouton de la souris. Notez qu’après l’apparition du bouton de commande dans la feuille de calcul, le bouton Mode Création est activé.

Figure: Le bouton Mode Création activé

Sur la surface du premier bouton de commande que vous avez, l’inscription CommandButton1 sera automatiquement affichée (Figure 14). Si vous créez maintenant un deuxième bouton de commande (CommandButton), alors CommandButton2 sera affiché sur sa surface, et ainsi de suite.

REMARQUE                                                                                                     

Comme pour tout objet graphique, un bouton peut être dessiné en maintenant la touche Shift enfoncée, ce qui lui donnera une forme carrée, ou en maintenant la touche Alt enfoncée, pour accrocher le bouton à la grille de la feuille de calcul. Pour le bouton créé, à l’aide des poignées de redimensionnement, vous pouvez définir les dimensions et à l’aide de la poignée de déplacement, vous pouvez définir son emplacement.
Figure: Contrôle des boutons et fenêtre Propriétés

  1. Cliquez sur le bouton de commande créé avec le bouton droit de la souris et dans le menu contextuel qui apparaît, sélectionnez la commande Propriétés pour ouvrir la fenêtre Propriétés (voir Figure 14). Le contrôle bouton de commande est un objet, c’est-à-dire qu’il possède, comme tout objet, des propriétés, des méthodes et des événements.

Le nom (légende) affichée sur la surface du contrôle Bouton de commande est définie par la valeur de la propriété Caption. En outre, le contrôle Bouton commande possède une propriété Name qui l’identifie en tant qu’objet dans le code. Dans ce cas, il est aussi égal à CommandButton1. Dans la fenêtre Propriétés ouverte, modifiez la valeur de la propriété Caption, c’est-à-dire la légende affichée sur la surface du contrôle Bouton de commande, de CommandButton1 à Feuil2 (afin de souligner que ce bouton activera la feuille de calcul Feuil2). Si vous le souhaitez, testez les propriétés suivantes du contrôle Bouton de commande : BackColor, Font, ForeColor, Shadow. Fermez enfin la fenêtre Propriétés.
6. Nous allons maintenant créer le code de la procédure qui gère l’événement “clic de bouton”. Suite au traitement de cet événement, la feuille de calcul Feuil2 doit être activée. Double-cliquez sur le bouton de commande créé (rappelez-vous que le bouton Mode Création dans le groupe Contrôles de l’onglet Développeur est enfoncé). Ainsi l’éditeur VBA s’ouvre avec le module feuille de calcul activé (Feuil1), dans lequel les première et dernière instruction de procédure de traitement ont été automatiquement ajoutées :

Private Sub CommandButton1_Click()
End Sub

■ Ouvrez le fichier du système d’exploitation Windows dans lequel vous avez créé la macro ActiverFeuil2; vérifier que le module requis est affiché dans la fenêtre Projet – VBAProject; copiez les instructions de la macro dans le presse-papiers:

Sheets(“Feuil2”).Select
Bien sûr, vous auriez pu saisir ces instructions à la main. Cependant, cela est plutôt lent et se heurte à l’apparition de fautes d’orthographe aléatoires qui surviennent inévitablement lors de la saisie de code. La procédure de gestion de l’événement “clic sur un bouton”, au cours duquel la feuille de calcul Feuil2 sera activée.

Private Sub CommandButton1_Click()
    Sheets("Feuil2").Select
End Sub
  1. Revenez à la feuille de calcul Feuil1. Le bouton créé gère l’événement seulement après avoir quitté le Mode de création. Par conséquent, désactivez le Mode création en cliquant sur le bouton Mode de Création situé dans le groupe Contrôles de l’onglet Développeur du ruban.
    8. Testez le contrôle Bouton de commande créé : cliquez dessus et si vous avez tout fait correctement, il activera la feuille de calcul Feuil2.

5 Un autre exemple avec l’enregistreur des macros

Par exemple, supposons que vous gérez chaque jour un tableau de données, tel que celui présenté à la figure suivante, qui indique le nombre d’articles vendus par votre société dans ses régions Est, Ouest, Nord et Sud.
Figure : Tableau des articles vendus


La tâche quotidienne consiste à trier le tableau principalement par région, puis par article. Votre patron veut que les colonnes NOM et REGION changent de place, de sorte que REGION occupe la colonne A et NOM occupe la colonne B. Pour améliorer la lisibilité, les nombres de la colonne MONTANT doivent être mis en forme avec le séparateur de virgules et les en-têtes pour REGION, NOM et MONTANT doivent être en gras. La figure 16 montre la table finie, comme le veut votre patron.
Figure  :

C’est normalement un processus en six étapes, ce qui est assez ennuyeux, mais cela fait partie de vos responsabilités professionnelles.

REMARQUE                                                                                                      

Chaque fois que vous créez une macro, il est judicieux de planifier à l’avance les raisons pour lesquelles vous créez la macro et ce que vous voulez que la macro fasse. Ceci est particulièrement important avec les macros complexes, car vous voulez que vos macros fonctionnent de manière efficace et précise, avec juste le code nécessaire pour faire le travail correctement. En évitant le code excessif, vos macros s’exécuteront plus rapidement et seront plus faciles à éditer ou à dépanner. Par exemple, préparez votre classeur à l’avance pour éviter les actions codées inutiles. Avoir la feuille de travail sur laquelle vous allez travailler active, avec la plage d’intérêt déjà visible. Pour terminer la tâche, vous pouvez procéder ainsi :
1. Insérer une nouvelle colonne dans la colonne A.
2. Sélectionnez la colonne REGION, coupez-la et collez-la pour vider la colonne A, à gauche de la colonne NOM.
3. Supprimez la colonne maintenant vide de l’endroit où la colonne REGION a été coupée.
4. Sélectionnez la plage A1: C13 et triez par ordre croissant par REGION, NOM et MONTANT.
5. Sélectionnez la plage C2: C13 et formatez les MONTANT avec le séparateur de milliers.
6. Sélectionnez la plage A1: C1 et formatez les cellules en Gras.
Non seulement ces étapes sont monotones, mais aussi un risque de faire des erreurs en raison d’une erreur humaine éventuelle. Les bonnes nouvelles sont que si vous effectuez les étapes nécessaires parfaitement pour l’enregistreur de macros, la tâche peut être réduite à un simple clic de souris ou un raccourci clavier, avec VBA faisant le travail de grognement pour vous.

Donc, pour la macro permettant d’exécuter cette tâche, procédez comme suit.
1. Démarrez l’enregistreur de macros en accédant à l’onglet Développeur du ruban et dans le groupe Code, cliquez sur le bouton Enregistrer une macro.
2. Dans la fenêtre Enregistrer une macro qui s’ouvre, entrez dans le champ Nom de la macro, « FormatageDonnees », et dans le champ Enregistrer dans, sélectionnez Ce classeur dans la liste et cliquez sur OK.
3. A présent, effectuer toutes les six étapes listées précédemment.

  1. Fermez l’enregistreur de macros en accédant à l’onglet Développeur du ruban et dans le groupe Code, cliquez sur le bouton Arrêter l’enregistrement.
    Ainsi, en conséquence, la macro suivante sera écrite sur la feuille d’un module standard.
Sub FormatageDonnees()
' FormatageDonnees Macro
' Foematage des données
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("C:C").Select
    Selection.Cut
    Columns("A:A").Select
    ActiveSheet.Paste
    Columns("C:C").Select
    Selection.Delete Shift:=xlToLeft
    Range("A1:C13").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add    Key:=Range("A2:A13") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2:B13") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("C2:C13") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("A1:C13")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("C2:C13").Select
    Selection.NumberFormat = "#,##0"
    Range("A1:C1").Select
    Selection.Font.Bold = True
End Sub

Commentaires

■ Comme nous l’avons déjà vu, toutes les macros commencent par une instruction Sub (Sub est l’abréviation de Subroutine, communément appelée macro) qui inclut le nom de la macro, suivi d’une paire de parenthèses.

■ Les commentaires que vous voyez dans une macro enregistrée reflètent directement les informations entrées dans la boîte de dialogue Enregistrer une macro. Par exemple, si vous affectez une touche de raccourci ou si vous entrez du texte dans le champ Description de la boîte de dialogue, ces informations seront considérées comme des commentaires dans le code de votre macro.

■ Les lignes restantes dans la macro sont des instructions VBA et elles représentent toutes les actions qui ont été effectuées pendant l’exécution de l’enregistreur de macros :
1. La première chose que vous avez faite est de sélectionner la colonne A.
2. Ensuite, vous avez inséré une nouvelle colonne dans la colonne A.
3. Ensuite, vous avez sélectionné la colonne C, coupé cette colonne et l’avez collée dans la colonne A.
4. Ensuite, vous êtes retourné pour sélectionner la colonne C parce qu’elle était vide, et vous l’avez supprimée.
5. Ensuite, vous avez sélectionné la plage A1: C13 où se trouvait la table de données.
6. Ensuite, vous avez trié la plage sélectionnée.
7. Ensuite, vous avez sélectionné la plage C2: C13, qui contenait les nombres que vous vouliez formater.
8. Ensuite, vous avez formaté les cellules sélectionnées avec le séparateur de milliers.
9. Ensuite, vous avez sélectionné la plage A1: C1 où se trouvaient les étiquettes de colonnes.
10. Ensuite, vous avez formaté la plage sélectionnée afin de mettre en gras la police de ces cellules d’étiquettes.
11. Enfin, vous avez désactivé « Enregistrer une macro, qui a produit la ligne End Sub. Toutes les macros se terminent par l’instruction End Sub.

6 Modification et amélioration du code précèdent

Il est facile de générer une macro avec le bouton Enregistrer une Macro. Mais la macro générée manque souvent d’efficacité avec le volume de code qu’il produit. Pour être juste, le bouton Enregistrer une macro n’a jamais été conçu pour être une machine de codage. Sa fonction principale, qu’il exécute parfaitement, est de produire du code VBA qui représente chacune de vos actions à l’écran. Il devrait être dit qu’il n’y a aucune loi dans l’univers dictant que vous devez modifier chaque macro enregistrée. Parfois, pour les macros simples qui font le travail, les laisser dans leur état d’origine enregistré est bien, surtout si elles fonctionnent comme vous le souhaitez, vous avez gagné.

Cependant, pour la majorité du code VBA qui est produit par le bouton Enregistrer une macro, la nature superflue et inefficace de son code excessif sera impossible à ignorer. En outre, lorsque vous envoyez vos chefs-d’œuvre VBA à d’autres utilisateurs, vous voulez que votre code regarde et agisse au-delà de la phase débutant du code enregistré.
Une règle de base dans le développement de VBA est de ne sélectionner ou d’activer des objets que si vous en avez besoin. Les méthodes de Sélection et d’Activation font partir des causes de l’exécution lente de la macro. Par exemple, les deux premières lignes de code de la macro enregistrée sont :

Columns("A:A").Select

Selection.Insert Shift:=xlToRight

Ces deux lignes peuvent et doivent être regroupées en une seule ligne, en ignorant la sélection activité:

Columns("A").Insert Shift:=xlToRight

Pareil avec les déclarations suivantes:

Columns("C:C").Sµelect
Selection.Cut
Columns("A:A").Select
ActiveSheet.Paste

qui peut être exprimé plus succinctement comme:

Columns("C").Cut Destination:=Columns("A")

En VBA, vous pouvez agir directement sur la plupart des objets, la plupart du temps, sans avoir besoin de les sélectionner. Lorsque vous avez supprimé la colonne C, vous n’avez jamais eu besoin de la toucher pour que VBA puisse faire le travail à votre place, car la déclaration :

Columns("C:C").Select
Selection.Delete Shift:=xlToLeft

peut devenir ceci:

Columns("C").Delete Shift:=xlToLeft

Ainsi, tout ceci va réduire les lignes de code et rendre votre macro FormatageDonnees plus lisibles et très efficaces.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x