Un bug de macro enregistrée...
Nous
l’avons déjà dit à plusieurs reprises dans ce blog, il y a depuis toujours dans
Excel des bugs liés aux macros enregistrées. Mais la situation empire version
après version, car de nombreuses nouvelles ou récentes fonctionnalités d’Excel ne sont pas
intégrées aux macros enregistrées.
Un
très bel exemple de dysfonctionnement de l’enregistrement de macro vous a déjà
été fourni dans l’article « ″Convertir
en plage″ en VBA » du 26 octobre
2009. Dans ce cas, on voit que la macro enregistrée a totalement ignoré une
commande pourtant enregistrée apparemment sans problème.
Par
ailleurs, le code des macros enregistrées est très souvent abusivement verbeux.
Nous en avons vu un exemple notable dans l’article du 12 juillet 2013 où la
macro enregistrée faisait 53 lignes (et en plus ne marchait pas quand on la
rejouait !) là où deux lignes auraient suffi.
En
conclusion, il y a trois types de problèmes : certaines commandes ne
s’enregistrent pas, le code est très verbeux, et enfin la macro – quand on
l’exécute – ne fait pas la même chose que lors de son enregistrement…
Voici
une série d’articles illustrant chacun les deux derniers problèmes :
7
juillet 2013 – Bug de la
validation par liste : une validation
par liste avec une liste d’options proposée en direct ne fonctionne plus quand
on exécute la macro.
12
et 17 juillet 2013 – Bug dans
la mise en page : la définition d’un
pied de page ne marche plus quand on exécute la macro enregistrée.
27
juillet 2013 – Un bug
dans la MAJ de dates : la conversion
de dates ne fonctionne plus quand on exécute la macro enregistrée.
Vous
trouverez une récapitualition d’un certain nombre de problèmes dans :
Les divers bugs des macros enregistrées – 2 août 2013
Les divers bugs des macros enregistrées – 2 août 2013
Je
suis tombé récemment sur un nouveau bug de macro enregistrée. On enregistre une
macro pour donner à une cellule un format conditionnel. Vous trouverez ci-dessous
la macro enregistrée, ainsi la macro écrite à la main qui – elle – fonctionne parfaitement bien.
Quand
on exécute la macro enregistrée, elle bloque sur l’instruction ExecuteExcel4Macro. On a bien du mal à comprendre ce que cette instruction vient faire ici, d’autant plus qu’elle « plante » la
macro lors de l’exécution.
0 Commentaire(s):
Enregistrer un commentaire
<< Accueil