Prise en main de VBA : enregistrer et exécuter une macro-commande.

Afin d’accéder aux fonctions avancées, il est nécessaire d’ouvrir les paramètres qui permettent d’accéder aux fonctions de développement et de programmation d’Excel. Pour ce faire, on doit ouvrir un nouveau document excel et cliquer sur l’onglet fichier, en haut à gauche.

Fichier en haut à gauche
Options en bas à gauche

Puis complément avant dernier à gauche.

Cliquer sur les 3 première options Analyse tool pack VBA et solver

A nouveau dans options, il faudra vérifier que les options développeur et compléments soient cochées, sinon il faudra le faire. Si n’était pas déjà fait un nouvel onglet développeur va apparaitre.

Affichage, sous-onglet Macro, enregistrement.

En cliquant sur enregistrement, tout ce que vous faîtes sera enregistré dans le langage d’Excel. Ensuite il faut arrêter l’enregistrement pour accéder au code.

Cliquer sur OK
Puis revenir sur l’onglet macro et cliquer sur arrêter l’enregistrement.

Puis appuyer sur afficher les macros, puis modifier les macro (macro, signifie macro-commande, donc grosse commande, car il peut y avoir beaucoup de tâches exécuter au sein d’une même macro-commande.

Pour voir ce qu’elle a dans le ventre, il faut appuyer sur modifier la macro1.

Toutes les macros commencent par Sub et finissent par End Sub. Il s’agit d’un langage balisé comme HTML. Il faut dire au logiciel où commence et où se termine la commande. Néanmoins, à l’intérieur d’une commande, on peut réaliser des commentaires. C’est à dire donner des explications sur ce qui va être réalisés afin de bien documenter son programme et éventuellement en faciliter la maintenance et la diffusion. Les commentaires apparaissent en vert, et sont identifiés par l’apostrophe.

Coloriage: Je ferme cette interface, puis je clique à nouveau sur l’enregistrement et sélectionne des cellules que je remplie en jaune.

Sub Macro2()
'
' Macro2 Macro
'

'
    Range("K15:M17").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

Sur les lignes de code ci-dessous. On voit que la seconde macro a été nommée macro2 automatiquement. On peut modifier le nom à l’intérieur du code. Range plage de cellules, signifie, à la limite elle peut contenir une seule cellule. Ici on a sélectionné K,L,M colonnes et 3 lignes: 15,16, et 17. On a colorié en jaune ces 9 cellules: K15, K16,K17, L15, L16,L17, M15, M16 et M17.

Rien de formidable juste pour donner quelques rudiments

Associer une macro avec un bouton. Ici lorsque l’on va appuyer sur un bouton que l’on aura créer la macro va s’exécuter.

On crée une nouvelle page dans le document en cliquant en bas à gauche sur le + qui se trouve à droite de l’onglet feuil1. On clique sur l’onglet développeur

On clique sur la valise, insérer des contrôles

Puis on clique sur le petit rectangle en haut à gauche.

Une petite croix se forme, elle indique l’endroit où le bouton sera placé. Il faut également choisir la macro avec laquelle le bouton sera associé. Ici on prend macro2, celle du coloriage.

On la sélectionne la macro puis on clique sur ok. Le bouton apparaît. On clique dans le vide à coté du bouton. Puis on peut cliquer dessus.

Le coloriage apparaît.

Un usage immédiatement plus utile consiste à construire des liens hypertextes dans un document Excel. Si vous avez un document avec de nombreuses pages, vous pouvez réaliser un page d’index. Les boutons indiquerons les titres des pages. Et dans les pages un renvoi vers la page d’index pourra être créer également. A vous de jouer. Créer quelques pages et les renvois grâce à plusieurs boutons.

En conclusion, la fonction macro est rapidement abandonnés par les programmeurs car elle peut générer des bugs et ne pas coder de manière élégante. Enfin, rapidement des boucles vont être introduites et là l’enregistreur ne sera plus très utile. Néanmoins, il peut permettre de s’approprier la logique de programmation dans Excel et éventuellement de se rappeler le nom de quelques fonction. Mais rapidement, il faudra passer à du codage « pur ».

A vous de jouer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *