Les macros complémentaires

Les macros complémentaires existantes

La macro complémentaire, comme son nom l'indique, est une macro additionnelle, qu'on peut ou pas charger à l'ouverture d'Excel. Ce sont des fichiers .XLA (eXceL Additive) qui contiennent des procédures et des fonctions VBA qui sont parfois utiles. Il existe déjà une pléiade de ces macros complémentaires que l'on peut charger ou décharger en mettant les coches en regard des macros complémentaires voulues dans le menu Outils/Macros Complémentaires.

Exemple : Dans la liste des fonctions d'Excel, vous allez trouver des centaines de fonctions (Insertion/Fonction), et parmi elles, plusieurs fonctions puissantes qui permettent d'arrondir des nombres à un certain nombre de décimales (ARRONDI), ou encore un arrondissement qui va vers le haut (9.14 arrondi à 10), grâce à la fonction PLAFOND, ou l'inverse, grâce à PLANCHER. Mais vous ne trouverez aucune fonction d'arrondissement à 5 centimes (4.67 s'arrondissant à 4.65), car Excel étant un logiciel américain, ils n'ont généralement que faire d'une telle fonction.

Mais comme ici, en Europe, nous en avons besoin, ils ont implantés cette fonction dans une Macro Complémentaire, qui s'appelle "Utilitaire d'Analyse", et qui contient une grande collection de fonctions bien utile, dont cette fameuse fonction d'arrondissement qui s'appelle ARRONDI.AU.MULTIPLE. Marche à suivre :

1. Allez dans Insertion/Fonction, et recherchez la fonction ARRONDI.AU.MULTIPLE. Constatez que vous ne la trouvez pas

2. Faites Outils/Macros Complémentaires, et cochez la case "Utilitaire d'analyse", et OK

3. Retournez dans Insertion/Fonction, et constatez que cette fonction est maintenant existante. On l'utilise comme ceci : =ARRONDI.AU.MULTIPLE(23.47; 0.05). Le résultat sera 23.45

Vous avez maintenant accès à toutes les fonctions de Utilitaire d'Analyse, même quand vous quitterez Excel et que vous y reviendrez. En fait jusqu'au moment ou vous enlevez la coche.

Ne cochez pas toutes les macros complémentaires sans rasion, car plus il y en a, plus le lancement d'Excel sera lent, et plus il consommera de mémoire. Ce qui explique l'utilité de la notion de Macro Complémentaire.

Voyez également le chapitre Créations de ses propres fonctions, qui contient la manière de créer ses propres fonctions, et de les rendre disponibles via une macro complémentaire que vous aurez-créé vous même

Exercice de style : Téléchargement et utilisation d'une Macro Complémentaire

Changement au sein d'Excel des paramètres régionaux

Comme n'importe qui peut créer des macros complémentaires et les mettre à disposition de tout un chacun, certains développeurs ne se privent pas. Voici l'histoire :

- Lorsque vous utilisez Excel, selon la machine sur laquelle vous êtes, vous devez utiliser le point ou la virgule pour séparer les chiffres des décimales, ou encore, c'est $ ou FF, ou CHF quand on demande un format monétaire, ou même c'est parfois l'année qui s'écrit sur 2 chiffres, alors qu'on l'aimerait sur 4 chiffres. Pour changer tout ça, vous savez certainement que ce n'est pas dans Excel que ça se passe, mais dans Windows : Démarrer/Paramètres/Panneau de configuration, et cliquez 2 fois sur Paramètres régionaux. Un développeur VBA Excel à eu la judicieuse idée de mettre au point une commande de Menu directement dans Excel qui permettrait de changer ces paramètres (Sans quitter Excel, donc, ce qui est déjà fort pratique), mais en plus, de donner la possibilité de changer ces paramètres d'affichage uniquement pour la session Excel en cours, ou pour tous les programmes Windows (Access par exemple), alors que Démarrer/Paramètres/Paramètres régionaux ne donne pas cette alternative. Il a donc installé le code VB nécessaire à ce petit plus dans un fichier .XLA, et il va suffire de le télécharger, de l'installer et de l'activer pour s'en servir. Marche à suivre :

  1. Quittez Excel si jamais vous y étiez
  2. Téléchargez le fichier qui contient ParamReg.xla en cliquant ici
  3. C'est un fichier compressé .ZIP. Il contient en fait 2 fichiers : ParemReg.XLA et ParamReg.EXE. J'espère que vous savez décompresser un fichier ZIP. Si vous ne savez pas, il va d'abord apprendre à le faire : rendez-vous sur www.winzip.com
  4. Une fois que vous avez réussi à extraire ces fichiers ParemReg.XLA et ParamReg.EXE, il s'agit de les placer dans le dossier Excel qui contient déjà les .XLA. Si vous ne savez pas ou sont ces fichiers (ça dépend de votre verison de Windows), faites simplement Démarrer/Rechercher : *.XLA. Windows vous montrera alors ou sont les .XLA déjà prêts à être installés (Eurotool.xla, Solver.xla, ...) C'est dans ce même dossier que vous conseille de copier ParemReg.XLA et ParamReg.EXE... Evidemment, vous devez très bien connaître l'explorateur Windows pour mener à bien cette opération...
  5. Allez dans Excel
  6. Allez dans Outils/Macros complémentaires
  7. Cherchez "Paramètres régionaux" (C'est le titre du fichier ParemReg.XLA), cochez sa case et faites OK

Voilà ! C'est fait ! Il ne reste plus qu'à l'utiliser ! Comment ? ...

  1. Ecrivez une date quelconque dans la cellule B2 par exemple : 01.01.98, et faites ENTER
    Je ne sais pas comment la date s'écrit : admettons que vous voyez affiché : 01.01.1998. Supposons que vous ne voulez voir que 2 chiffres pour l'année :
  2. Faites Outils/Paramètres régionaux/Application Excel en cours (Ce qui est en rouge est une NOUVELLE commande que vous venez d'installer, justement ...)
  3. Dans la boîte de dialogue qui apparait, dans la zone "Style de date courte", écrivez jj.MM.aa à la place de jj.MM.aaaa, faites OK

Voilà... Si ça c'est bien passé, votre date écrite avec l'année en 4 chiffres dans la cellule B2 s'est maintenant affichée en 2 chiffres. Ce changement, si l'on en croit le menu, ne s'est effectué que dans Excel, actuellement, et effectivement, j'ai testé : Quand on quitte Excel et qu'on revient dans le même fichier, la date s'écrit à nouveau comment avant notre intervention. Il s'agit donc bien d'un additif qu'un programmeur dont nous ne connaissons pas l'identité a créé pour nous. C'est à dire que je suis incapable de vous dire comment il a fait son programme (le code VB qu'il a créé est protégé par mot de passe), je ne sais absolument pas pourquoi il faut également copier avec le XLA ParamReg.EXE... En fait c'est une "boîte noire". Et si ça créer des problèmes sur notre ordinateur, c'est à nos risques et périls. Nous sommes tous bien au courant que personne, ni moi, ni le programmeur ne prend AUCUNE part d'une quelconque responsabilité en cas de problèmes, même si ça plante complètement votre PC... Mais qui n'essaie rien n'a rien... Il faut parfois savoir faire confiance.

Maintenant que vous êtes plus à l'aise

Affichage de vos procédures et fonctions au sein d'une feuille de calcul

Si vous avez bien réussi l'exercice précédent, je vais vous donner d'autres macros complémentaires. Celle qui suit permet, pour les programmeurs VBA qui utilisent énormément de procédures et fonctions dans chaque classeur XLS, de répertorier, de manière résumée, en tableau, toutes les procédures et fonctions du classeur Actif :

  1. Téléchargez le complément listeprocs.zip, dézippez-le, et placez le avec les autres compléments, comme à l'exemple d'avant. Ce fichier zip contient également un fichier .RTF, qui est simplement un rappel de l'utilité du complément.
  2. Allez dans Excel, faites Outils/Macros Complémentaires, et cochez Liste Procédures, et OK

Voilà, maintenant, lorsque vous êtes dans un fichier Excel qui comprend pas mal de macros, il vous suffit maintenant pour avoir la liste résumée de celles-ci d'aller dans Outils/Macros/Liste des procédures, et cochez à choix feuille active ou nouvelle feuilles, c'est selon. Je vous laisse tester l'utilisation que vous pouvez avoir d'une telle macro. Référez vous au fichier RTF joint dans le ZIP pour de plus amples informations données directement par son auteur.