4.6 Les macros

LOC – 13/08/2018 – 3

Version

Cette fiche est mise à jour avec la version 6.0.6 de LibreOffice.

Plan de la fiche

1. Position du problème

2. Procédure générale

2.1 Création de la macro

2.2 Création d’un bouton

2.3 Affectation de la macro au bouton

2.4 Test

3. Réalisation

3.1 Enregistrement de la macro

3.2 Vérification du bon fonctionnement de la macro

3.3 Création du bouton

3.4 Affectation de la macro au bouton

3.5 Précisions

Présentation

Les macros sont des petits programmes qui réalisent une suite d’opérations automatiquement. Je n’ai pas l’intention de faire ici un cours de programmation. Je veux simplement montrer comment automatiser une suite d’opérations, puis l’enregistrer dans un bouton posé dans la feuille pour ensuite permettre à l’utilisateur de réaliser ces opérations d’un simple clic sur ce bouton.

Préalables

À partir de la version 6, LibreOffice a renforcé la sécurité, en particulier au niveau des macros. Pour connaître ces dispositions et agir en conséquence, voir ici : 1.1 Paramétrages de base conseillés, § 4. À propos des macros.

1. Position du problème

Supposons, dans le classeur Ma Cave, que je veuille trier souvent la feuille principale par référence et par crû et millésime. En soi, le tri n’est pas une opération compliquée. Mais il serait effectivement plus simple de cliquer par exemple en tête de colonne pour voir la feuille triée sur cette colonne. Les macros vont nous le permettre.

J’ai donc deux opérations à automatiser :

1. Le tri de la feuille sur la colonne Référence ;

2. Le tri de la feuille sur les colonnes Région/Crû et Millésime.

2. Procédure générale

2.1 Création de la macro

Pour créer une macro, je commence par afficher la feuille à traiter.

Je lance ensuite l’enregistrement de la macro. Ce lancement est comparable au lancement d’un enregistrement audio ou au lancement d’une vidéo. Une fois lancé, l’enregistrement est automatique. Il faut une intervention spécifique pour l’arrêter.

Je fais les opérations à automatiser : appel du tri, entrée des paramètres, lancement du tri.

J’arrête l’enregistrement et je donne un nom à la macro.

2.2 Création d’un bouton

Il s’agit d’un objet graphique classique.

2.3 Affectation de la macro au bouton

Dans les propriétés du bouton, il est possible d’affecter une macro à une opération particulière, comme par exemple un clic sur ce bouton.

2.4 Test

Je vérifie que le bouton actionne bien la macro et que celle-ci donne bien le résultat escompté. Sinon, je reviens en arrière pour corriger.

3. Réalisation

Je prends l’exemple de la réalisation du bouton permettant de trier la feuille sur Région/Crû et Millésime. Voir 5. Exemple : Ma cave pour charger l’exemple.

3.1 Enregistrement de la macro

J’affiche la feuille MaCave.

Dans Menu : ▼ Outils, Macros, Enregistrer une macro;

Une fenêtre flottante s’affiche sur la feuille avec un seul choix actif : Terminer l’enregistrement.

Je lance le tri par Région/crû et Millésime :

Dans la barre des boutons : ▼ ♥deux flèches verticales opposées[Trier]♥

<[Trier];

| Options |

Options de tri

La plage contient des étiquettes de données;

Direction

Du haut vers le bas (trier les lignes)

| Critères de tri |

Clé de tri 1

♫ Région crû ; ⨀ Croissant ;

Clé de tri 2

♫ Millésime ; ⨀ Croissant ;

▼ ◄ OK ► ;

La feuille est triée.

Pour faciliter la lecture après le tri, j’active la première cellule de la feuille :

Dans la cellule B1 : ▼;

J’arrête alors l’enregistrement de la macro :

Dans la fenêtre flottante : ▼ Arrêter l’enregistrement;

À ce stade, l’enregistrement est arrêté, mais la macro n’existe pas à proprement parler tant qu’elle n’est pas enregistrée. Une fenêtre s’ouvre pour cela :

<[Macros LibreOffice Basic]

Nom de la macro

♪ (je saisis ici le nom que je veux donner à ma macro, par exemple : Tri_cru_millesime. – j’évite les lettres accentuées);

Enregistrer la macro dans

Cette fenêtre est un petit explorateur qui comprend Mes macros, Macros LibreOffice, et les documents Office ouverts, dont le classeur Ma Cave.

Je déploie MaCave et je sélectionne Standard. (Si Module 1 est déjà créé dans Standard, je le sélectionne) ;

▼ ◄ Enregistrer ►;

Si Module 1 n’existe pas encore, il m’est proposé en création : j’accepte.

La macro que je viens d’enregistrer existe désormais, dans Module 1 rattaché à Standard de MaCave.

3.2 Vérification du bon fonctionnement de la macro

Avant d’affecter la macro à un bouton, je vais vérifier qu’elle fonctionne correctement.

J’affiche la feuille MaCave.

Je la trie manuellement par Référence.

Dans Menu : ▼ Outils, Macros, Exécuter la macro…

<[Sélecteur de macros] ;

Bibliothèque

Je déploie MaCave, Standard, et je sélectionne Module 1;

Nom de la macro

Je sélectionne Tri_cru_millesime;

▼ ◄ Exécuter ►.

Je constate que la feuille est désormais triée par Région/Crû, et à l’intérieur par Millésime. La macro fonctionne. Je peux l’affecter à un bouton.

3.3 Création du bouton

Le plus astucieux est de créé un bouton qui occupe toute la cellule en tête de colonne Région/Crû.

Je laisse l’intitulé en place : même masqué, il sera utile pour référencer la colonne;

Je note la hauteur de la ligne et la largeur de la colonne;

Je copie l’intitulé de la colonne pour le coller plus tard dans le texte du bouton ; cela me permettra de récupérer automatiquement la police, la taille et le centrage du texte ;

J’active la cellule destinée à recevoir le bouton;

Dans Menu : ▼ Insertion, Forme, Basic, Rectangle;

Je dessine un rectangle quelconque dans la cellule;

Si j’ai perdu la sélection, ▲ dans le bouton le sélectionne et affiche le menu contextuel des objets;

Dans le menu contextuel : ▼ Position et taille…;

Je rentre la hauteur de la ligne et la largeur de la colonne (en retirant 2 points pour faciliter le cadrage dans la cellule tête de colonne) et en ayant soin de décocher Conserver le ratio avant; je coche Protéger Taille;

Je pose un fond pastel clair (Remplissage…) pour distinguer la colonne avec un bouton;

Pour rentrer le texte du bouton, dans le bouton : ▼▼; je colle le texte copié plus haut;

Je déplace le bouton pour l’ajuster à la cellule.

3.4 Affectation de la macro au bouton

Dans le bouton : ▲ affiche le menu contextuel;

dans le menu contextuel : ▼ Assigner la macro… <[Assigner une macro];

Assignations

Événement : je sélectionne Bouton de la souris enfoncé (en clair : quand ▼);

Origine des macros

Je déploie MaCave, Standard, et je sélectionne Module 1;

Macros disponibles

Je sélectionne Tri_cru_millésime;

▼ ◄ Assigner ►;

▼ ◄ OK ►.

À partir de maintenant, ▼ sur le bouton, fera le tri automatiquement.

3.5 Précisions

Dans la fenêtre d’affectation de la macro au bouton, le boutonSupprimer ► permet de supprimer l’affectation de la macro au bouton. Le bouton n’est pas touché. La macro existe toujours. Pour supprimer la macro, il faut aller en gestion des macros.

Un bouton, bien entendu, n’enregistre qu’une seule macro. Il est toujours possible de modifier la macro assignée en suivant la procédure ci-dessus (§3.4).

Dans les opérations multiples, il est préférable de faire toutes les opérations à chaque étape avant de passer à l’étape suivante (enregistrer toutes les macros, créer tous les boutons, assigner les macros).

Informations complémentaires

Liens

1.1 Paramétrages de base conseillés, § 4. À propos des macros

5. Exemple : Ma cave

Laisser un commentaire

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