Lancer une macro au démarrage

Comment lancer automatiquement une macro au démarrage ?

Pour le lancement de ta macro proprement dit, tu ouvres ton VBE (Alt + F11, par ex). puis tu portes ton oeil gauche (parce que c'est le plus près) dans la liste Projet

- VBAProject

dans la partie senestre de la fenêtre (ah! le poids des mots!) où tu vas voir, dans l'arborescence de ton classeur que tu auras pris le soin d'ouvrir au préalable, la liste des feuilles dudit classeur et juste en dessous "ThisWorkbook" ; n'écoutant que ton courage, tu double-cliques là-dessus, ce qui aura pour effet de faire apparaître dans l'axe de ton oeil droit une fenêtre ; à partir de là, avec la plus grande félinité, tu cliques sur toutes les petites flèches noires dirigées au sud (sauf celle de l'ascenseur) jusqu'à ce que tu voies s'afficher en haut à gauche Workbook et à droite Open, et aussi dans le corps de la fenêtre, tu vas voir s'inscrire aussi :

Private sub Workbook_Open()
 
 end sub

as-tu remarqué l'intervalle entre la première et la dernière ligne? oui? formidouble car c'est là que tu vas taper benoîtement le nom de ta macro (certains te diront de faire précéder le nom d'icelle de Call mais ne les croie pas, ils font un zèle inutile) ; bien sûr, il faut que ta macro ait été écrite dans un module de ton classeur ou de ton perso.xls ; tu enregistres ton travail directement depuis le VBE avec l'icône disquette de la BO et à partir de là, chaque fois que tu ouvriras ton classeur, la macro s'éxécutera... si tu es un peu curieux, va voir dans la liste déroulante du "Open" de la fenêtre et tu vas y trouver un tas d'évènements, dont, entre autres, un "BeforeClose" qui te permet d'éxécuter une macro, non plus à l'ouverture, mais à la fermeture cette fois-ci ; tu vois, moi, par exemple, avec ce système, j'ai écrit une macro qui fait ce que les hôteliers appellent la couverture, c'est à dire qu'elle ouvre mon lit, elle tapote l'oreiller, elle met la sonnerie du réveil, allume la télé avec une boucle disant à peu près ceci :

For Each chaîne In TV set
If chaîne.castings.value = conneries
Then chaîne.Open
(mon problème avec une telle proc, c'est qu'elle veut ouvrir toutes les chaînes en même temps, surtout en campagne électorale) elle éteint ensuite la télé grâce à un Timer qui vérifie l'écartement entre mes deux paupières pour ouvrir enfin un fichier .wav tout de suite refermée par ma voisine de lit qui, d'un grand coup de pied dans les mollets, me fait comprendre qu'elle n'apprécie pas ce genre de musique basée sur l'émission de borborygmes, hoquets et autres sifflements nasaux.... tout ça pour te dire, que rien de tel qu'une proc évenementielle pour se faire plaisir avec excel...

Auteur :

Mots clefs associés à cette page : , , ,