Accueil > Tableur > exercices > Macro - Calc (vin - 1)
Macro - Calc (vin - 1)
mardi 10 juin 2014
Cette page correspond à la « version Calc » de l’exercice suivant (Excel)
Nous n’aborderons pas ici la liaison entre feuilles de calcul (cette question sera traitée sur un autre exemple, plus significatif que celui-ci). Par contre, vous devrez de temps à autre naviguer vers l’exercice Excel afin d’avoir quelques précisions d’ordre théorique sur telle ou telle fonctionnalité commune aux deux tableurs.
Ouvrez le document de travail après l’avoir récupéré ici-même.
Sous-totaux
Pour commencer, nous allons expérimenter une nouvelle fonctionnalité. Notre fichier est structuré de telle façon qu’il est possible d’effectuer des sous-totaux.
Passez par le menu « Données / Sous-totaux... » :
Voici comment nous allons procéder étape par étape, à partir de cette boîte de dialogue, pour paramétrer des sous-totaux :
– La liste sera décomposée, en premier lieu, par type de Vignobles : sélectionnez donc cette option en tant que premier critère de « Groupe » (en haut de la boîte de dialogue).
– Les sous-totaux doivent forcément s’appliquer sur des nombres : va pour le prix (clic sur la case correspondante de la liste placée en colonne de gauche).
– Nous demanderons, enfin, d’effectuer la fonction « moyenne » à chaque sous-total ; rien n’oblige, en effet, à utiliser la fonction somme pour les sous-totaux (dans notre cas, l’addition des prix des vins n’apporte pas un grand intérêt). Sélectionnez, donc, cette fonction « moyenne »dans la colonne de droite de l’assistant.
C’est fini.
Voici le résultat :après validation
Concernant les sous-totaux, les deux tableurs (Calc et Excel) proposent à peu près les mêmes fonctionnalités : rien de bien compliqué.
Reportez-vous, si nécessaire, aux explications fournies sur l’exercice Excel. Dans ce cas, je vous conseille de faire un clic droit de la souris pour ouvrir le lien sur un nouvel onglet, car il vous faudra revenir ici sans lien.
Voici ce qu’il faut faire pour supprimer les sous-totaux :
Enregistrer une première petite macro
Là encore, je vous recommande, de vous référer à l’explication fournie sur l’exercice Excel à propos de l’intérêt des macros (pour cela, cliquez sur le lien qui se trouve ci-dessous).
Par contre, cette fois-ci, un lien est spécialement prévu pour vous - utilisateur de Calc - afin de vous permettre de revenir ici même et reprendre ainsi le fil de l’exercice. Alors allez-y et soyez attentif pour ne pas rater votre retour
Vous savez donc qu’il va falloir créer des macros afin d’automatiser l’apparition de deux types de vignettes. Pour cela, nous avons ajouté à notre tableau quelques en-têtes de colonnes.
Placez-vous en « K2 » :
Passez par le menu « Outils / Macros / Enregistrer une macro » :
Après cela, vous devriez voir apparaître cette petite palette flottante :
Cela vous signale que les actions que vous allez maintenant effectuer seront enregistrées afin de pouvoir les exécuter à nouveau automatiquement.
Commençons :
– Effectuez le raccourcis clavier suivant : « Alt + 0182 ». Vous venez de générer le caractère « Pied de mouche ».
– Validez la saisie.
– Puis cliquez sur le sélecteur de polices et tapez « Wi ». Cela devrait normalement faire apparaître « Wingdings », en autocomplétion :
– Appuyez sur la touche « Entrée » du clavier afin de valider ce changement de police.
– Puis sélectionnez, dans le sélecteur de taille, le corps 14 :
Vous constatez alors que notre pied de mouche se transforme en étoile. C’est normal, puisque la police « Wingdings » fait partie de ces polices spéciales qui permettent de transformer les caractères du clavier en symboles (voir support)
– Il nous reste à ajuster l’alignement : cliquez sur l’option « Centré ».
– Pour terminer l’enregistrement de cette macro, cliquez sur le bouton :
OpenOffice nous demande alors d’indiquer un certain nombre d’information concernant cette macro.
Dans cette boîte de dialogue, indiquez, en premier lieu, le nom donnée à la macro. Par souci de cohérence avec le support Excel, nous lui donnerons le sobriquet de « Joli ».
Nous choisirons de stocker cette macro au niveau du document courant, plutôt que d’encombrer l’application avec des macros qui n’ont pas forcément d’intérêt pour d’autres documents.
Pour cela, cliquez dans la liste, colonne de gauche, sur le petit plus placé à gauche de « Vin_global.ods » (il s’agit du document actif). Cliquez ensuite sur « Standard ».
Cliquez enfin sur « Enregistrer »
Une boîte de dialogue vous demande ensuite d’indiquer un nom de « module ». Considérons qu’il s’agit de créer, à ce moment-là, une catégorie de macros, comprenant celle que vous venez d’enregistrer.
Nommez ce module en tant que « Vignettes » et validez par « Ok » :
Associer un raccourci clavier à une macro
Afin d’être plus efficace, il serait préférable d’appeler la macro par simple raccourci clavier.
Pour cela, passez par le menu « Outils / Personnaliser... »
Sur la boîte de dialogue, cliquez, en premier lieu, sur l’onglet « Clavier » (tout en haut), puis effectuez dans l’ordre les actions suivantes :
– 1 Dans le champ « Catégorie », placé en bas, à gauche, faîtes défiler l’ascenseur afin de sélectionner la rubrique « Macros OpenOffice,org ». Cliquez sur votre fichier « Vin_global.ods », puis déroulez jusqu’à obtenir le dossier « Vignettes », que vous venez de créer.
– 2 Dans le champ « Fonction », sélectionnez « Main ». Il s’agit, en fait, de votre macro, permettant de générer le symbole « étoile ». Pour une raison que j’ignore, il semble que le programme s’obstine à conserver l’appellation « Main » à la première macro créée dans un module, y compris si l’on lui donne un nom personnalisé (par exemple, « Joli », dans notre cas).
– 3 Dans le champ « Raccourcis clavier », faîtes défiler la liste jusqu’à « CTRL+J ». Par défaut, sur OpenOffice, ce raccourci clavier permet d’aligner « Justifié ». Pour ce document, nous allons nous priver de cette fonctionnalité et décider plutôt d’associer « CTRL+J » à notre macro (toujours par souci de concordance avec le support Excel). Cliquez donc sur ce raccourci.
– 4 Cliquez enfin sur le bouton « Modifier »
Après quoi, vous devriez voir apparaître ce raccourci, dans le champ « Clavier », en bas à droite.
Validez par « Ok » :
Une fois revenu sur notre document courant, nous allons tester sans plus attendre, cette macro.
Placez-vous en « I2 » et faîtes « Ctrl+J ». Normalement, cela devrait faire apparaître notre étoile.
Histoire de nos accorder le plus de confort possible, nous utiliserons la colonne « L » pour indiquer le raccourci clavier correspondant à chaque macro : (pour générer tel échantillon, il faudra effectuer tel raccourci. Voilà qui semble, à première vue, un peu laborieux, mais il est probable que nous n’ayons pas à le regretter s’il nous faut revenir sur ce document d’ici quelques temps, quand notre mémoire se sera vraisemblablement estompée...
Supprimez le contenu de la cellule « I2 », qui n’avait de valeur que pour le test.
Nous venons de créer une fonction automatique permettant de générer le symbole « positif » (étoile). Vous allez, à présent, renouveler la même procédure pour stocker en mémoire la création d’une vignette « négative », un smiley grimaçant.
Je serai un peu moins bavard...
Placez vous en « K3 » puis passez à nouveau par « Outils / Macros / Enregistrer une macro » :
Tapez L (majuscule).
Validez la saisie (tout en restant sur la cellule active) et passez en « Wingdings »...
Passez, là aussi, en corps 14. Centrez.
Un petit coup d’œil sur le résultat :
Terminez l’enregistrement. Et nommez cette macro, dans le module vignettes du document courant, en tant que « Risque » (là encore, pour garder la même appellation que celle donnée sur l’exo Excel).
Enregistrez.
La macro est enregistrée, reste à lui attribuer un raccourci clavier : retournez sur le menu « Outils / Personnalisez... » et sélectionnez la macro « Risque » afin de l’associer au raccourci clavier « CTRL+R » (ce qui désactivera, uniquement sur ce document, l’association attribué par défaut « aligner à droite » à ce raccourci).
Après avoir cliqué sur « Modifier », cliquez sur « Ok »
Reste à tester la macro :
Et indiquer, en guise de pense-bête, le raccourci correspondant.
Supprimez le contenu de la cellule « I3 ». N’en sommes plus aux test, il va maintenant falloir passer à la suite des opérations.
Mais pour cela, vous devez vous rendre sur le support suivant.
Vos commentaires
# Le 18 novembre 2011 à 07:41, par svenborg En réponse à : Macro - Calc (vin - 1)
Enfin quelque chose de compréhensible quant à l’utilisation concrète des fonctions d’un tableur !
Pourtant, il me manque quelque chose (je ne viens de lire que deux pages) ...
Il me manque le rapport entre le prix, le vignoble, et la qualité (macro) car là ; il s’agit plus de l’établissement d’un comparatif que d’une fiche sur les vins.
Le prix est très important, le vignoble moins ; donc ce sont l’ajout des fonctions SI et le formatage des cellules qui devraient prendre le relai (couleur de la cellule en fonction des résultats).
Le prix est plus important car les vignobles ne sont pas ce qu’ils prétendent (s’ils l’étaient ; il suffirait de faire confiance à l’étiquette).
Je ne comprends pas pourquoi la macro ne prends qu’une étape, elle devrait prendre toute les étapes car effectuer une macro pour chaque symbole et chaque commentaire me semble laborieux ...
Ne pourrait-on pas les relier par une base de donnée ou bien un simple tableau croisé ? l’automatisme serait identique et les appréciations visibles et changeables.
Lier la macro d’appréciation par un tri sélectif ne serait-il pas plus "appréciable" ?
J’ai hâte de revenir sur votre site afin d’étudier au plus près ce cours très clair et passionnant.
Répondre à ce message
# Le 18 novembre 2011 à 15:56, par François En réponse à : Macro - Calc (vin - 1)
Merci pour vos encouragements et vos contributions
Répondre à ce message
# Le 18 novembre 2011 à 16:11, par François En réponse à : Macro - Calc (vin - 1)
Vous avez tout à fait raison pour ce qui concerne vos remarques concernant la généralisation de macros, le tri sélectif, les tableaux croisés dynamiques ou encore la base de données. L’exercice n’est qu’un prétexte pour évoquer, compte tenu de la progression des usagers, de nouvelles techniques à partir d’exemples simples. À chacun d’améliorer la trame par la suite, avec des procédures plus rigoureuses et qui peuvent toutefois entraîner une montée en puissance de la complexité.
Répondre à ce message