Accueil > Tableur > exercices > Macro - Excel (vin - 2)

Macro - Excel (vin - 2)

samedi 5 mars 2011

Résumé de l’épisode précédent : vous avez ouvert un classeur comportant plusieurs feuilles de calcul (Vin_détails) et, par le « collage avec liaison », vous avez rassemblé tous ces éléments sur une seule feuille, dans un nouveau classeur (Vin_global). Vous avez ensuite expérimenté les « sous-totaux » (fonction moyenne).

Si vous aviez fermé votre document « Vins_global », voici ce qui devrait apparaître à sa réouverture.

A partir du moment où vous avez effectué une liaison entre classeurs, il est normal que le tableur vous retourne cette alerte.

Cliquez sur le bouton « Mettre à jour ».

Nous n’avons plus besoin pour l’instant de l’affichage des sous-totaux. Passez par le menu « Données / Sous-totaux... » :

Puis cliquez sur le bouton « Supprimer tout » :

Nous retrouvons notre tableau « à plat » (si je puis dire).

Enregistrer une petite macro

Lors de la précédente étape de l’exercice, nous avons vu que la méthode proposées pour rassembler plusieurs feuilles dans un seul document par liaison n’était pas sans poser un certain nombre de problèmes.

En guise de solutions possibles, j’ai évoqué l’hypothèse des macro. Toutefois, pour différentes raisons, cette approche n’a pas été retenue.

Or, voici qu’à présent, le sujet revient sur le tapis.

Décidément, tu nous embrouilles, François.

Alors voilà : le but du présent tuto ne vise qu’à présenter de façon très sommaire quelles sont les logiques mises en œuvre dans les macros. Rassurez-vous, il ne sera nullement question ici de rentrer dans l’abstraction du code informatique. En ayant recours uniquement à quelques clics sur des boutons, comme vous avez l’habitude de le faire sur votre logiciel de bureautique, vous pouvez déjà automatiser quelques petites routines.

Car, que ce soit avec du code informatique ou avec le clic-clic, la logique est exactement la même : enregistrer une suite de manipulations, de façon à pouvoir répéter automatiquement les mêmes actions par la suite.

N’attendez pas de moi de vous démontrer qu’il serait possible de rentrer réellement dans l’apprentissage des macros sans apprendre de langage informatique (Visual Basic pour Excel et OOBasic pour OpenOffice). Mission impossible : c’est d’ailleurs en partie parce qu’il est nécessaire de coder une ou plusieurs macro que cette solution avait été écartée à l’étape précédente.

Pour autant, rien ne ne nous empêche de mettre en pratique une petite macro simple et sans code afin de nous initier en douceur à la logique de traitement. Et pourquoi pas, envisager, par la suite d’aller plus loin.

La remarque suivante ne concerne que les utilisateurs d’Excel :

Quant à notre problème initial (liaison entre classeurs) , si vos fichiers sources sont susceptibles d’être modifiés dans leur structure (ajout ou suppression de lignes) mieux vaut, à mon avis, mettre de côté votre tableur et envisager de faire appel à un véritable outil de base de données (Access ou Base).

Retour sur notre document.

Afin de bien décomposer le étapes, il est nécessaire de créer des colonnes supplémentaires. Suivez les indications sur les deux vues présentées ci-dessous :

Insertion de caractères spéciaux

Tel que nous sommes habitués à le voir couramment dans la presse, nous souhaitons compléter notre document en ajoutant une grille d’évaluation symbolisée par des petites icônes :

Vous vous souvenez de l’exo « Table de caractères » ?

Le moment est venu de le ressortir.

Nous aurons besoin, pour commencer, du symbole « petite étoile ». Notre table personnalisée indique la correspondance suivante : raccourci clavier « ALT + 0182 » en police Wingdings.

Eh bien c’est justement parce que la manipulation s’avère quelque peu laborieuse (modification de la police et raccourci clavier) et qu’elle sera répétitive, que nous allons la stocker dans une macro.

Si vous êtes arrivés ici par l’intermédiaire de l’exercice Openoffice calc, il est tant de revenir à support

Cliquez sur le menu « Outils / Macro / Nouvelle macro... »

Dans la boîte de dialogue, vérifiez dans un premier temps que la rubrique « Enregistrer la macro dans : » est bien renseignée avec l’option « Ce classeur ». Il est préférable de limiter le champ d’application de la macro au document actif.

Indiquez ensuite le nom qui sera donné à la macro : Joli.

Pourquoi « Joli » ?

Parce que J comme Joli, sachant que CTRL + j sera donc le raccourci clavier pour appeler cette macro.

Les raccourcis clavier disponibles sur Excel ne sont pas si nombreux que ça. Ce raccourci « CTRL + J »permet, normalement, de passer la cellule en format « date ». Comme nous n’aurons pas besoin, a priori, du format « date »dans ce document, nous utiliserons le raccourci clavier auquel il est associé pour notre macro.

Après avoir cliqué sur le bouton « Ok », vous voyez apparaître à l’écran cette petite palette flottante :

C’est votre « enregistreur de macro ».

Vous en aurez besoin tout à l’heure pour interrompre votre enregistrement. C’est exactement comme lorsque vous enregistrez un message vocal pour votre répondeur. Tout ce que vous ferez jusqu’à l’interruption sera enregistré dans la macro afin d’être réemployé automatiquement par la suite.

Il est donc important de bien décomposer les étapes et d’éviter de surcharger la macro avec des manipulations inutiles. Rien ne vous oblige a faire votre enregistrement à toute vitesse.

Placez-vous en K2 et tapez votre raccourci clavier pour la petite étoile et validez la saisie tout en restant sur la cellule active (CTRL + Entrée). Il est tout à fait normal que le tableur affiche le pied de mouche (¶), car nous n’avons pas encore modifié la police.

Vérifiez que votre cellule active est toujours K2 et modifiez la police (Wingdings) :

Passez en corps 14 :

Modifiez l’alignement si nécessaire afin de le centrer.

Voilà, nous avons fini notre macro. Vous devez arrêter l’enregistrement ; pour cela cliquez sur le bouton suivant :

Afin d’apporter le plus de clarté possible à notre document, mieux vaut insérer un commentaire. Cela pourra être utile si nous y revenons dans quelques temps.

De même, nous avons prévu cette colonne à seule fin de rappeler la commande permettant d’obtenir ce caractère spécial.

En L2, il faut donc indiquer le raccourci clavier de la macro :

Imaginons que l’évaluation soit négative. Il nous faudra alors utiliser un autre symbole que l’étoile.

Voilà pourquoi il est nécessaire de recommencer la même procédure à partir d’un second « échantillon ».

Nous allons créer une nouvelle macro, mais cette fois-ci, vous devrez vous en sortir tout seul, en vous aidant juste des vues présentées ci-dessous :

Les deux macros sont enregistrées : l’une permettra de générer un petit symbole positif - l’étoile -, l’autre un signe plutôt négatif, le smiley grimaçant.

Nous verrons comment mettre cela en pratique à l’étape suivante de l’exercice.

 

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?
Ajoutez votre commentaire ici
  • Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.