Voila mon souci: je suis un bricoleur sur excel et je souhaite créé une fonction annuler pour annuler les effets de mise en page d'une macro.
Merci de vos réponses à venir.
Voila mon souci: je suis un bricoleur sur excel et je souhaite créé une fonction annuler pour annuler les effets de mise en page d'une macro.
Merci de vos réponses à venir.
Bonjour et bienvenue sur le forum,
Il n'y a pas de fonction Undo pour une macro, la seule façon de réaliser cela est de créer une copie temporaire de la feuille en question.
En gros :
- avant l'exécution de la macro, vérifier si une sauvegarde de la feuille a déjà été réalisée, si oui la supprimer
- faire une sauvegarde de la feuille en fin de classeur
- à la fermeture du classeur éventuellement supprimer la feuille sauvegardée
Bonjour
Si je peux me permettre de nuancer les propos de fring...
Attention que la copie temporaire d'une feuille, puis la suppression de la feuille originale et la récupération de la copie, ca va foutre un fameux bo*** dans les cellules des autres feuilles qui sont liées par formules à la feuille qui sera détruite... => problèmes de #REF! à tour de bras!!, dans les formules, les plages nommées, les graphiques et TCD liés, ... (Et je ne parle pas d'une macro qui modifierait plusieurs feuilles...)
Donc, si l'idée paraît séduisante, c'est à mon avis à utiliser avec tellement de prudence que pour moi, cette technique n'est pas valable pour 9.999 classeurs sur 10.000... Mais ce n'est que mon avis...
La seule façon vraiment fiable, c'est d'enregistrer TOUT le classeur en copie avant que la macro touche à quoi que ce soit... => très lourd...
Donc pour moi, il n'y a pas de remède miracle. Quand je dois vraiment m'assurer de pouvoir revenir en arrière, je place une macro à l'ouverture qui réalise une sauvegarde. si pb durant le traitement, on perd ce qui a été fait entre l'ouverture du classeur et le moment où le problème s'est posé, et on récupère la copie faite à l'ouverture...
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
regarde du cote de john walkenbach
http://www.j-walk.com/ss/pup/pup6/features.htm
il a fait un add in qui a une fonction undo
Je repars sans solutions miracle, je vais tenter l'annulation en inversant chaque effets de la macro. Choub add in est pas mal mais mon fichier doit pouvoir me servir sur n'importe quel pc donc impossible.
Merci
Partager