VBA annuler

freddybee

XLDnaute Nouveau
Bonjour à tous,
J'ai une macro que j'utilise souvent pour insérer une ligne à l'endroit où se trouve la cellule active.
Par contre, lorsque je lance la macro par erreur, la fonction annuler (CTRL-Z) ne marche pas car l'opération n'a pas été "mise en mémoire" par Excel.
Avez-vous une solution ou une idée ? A vous lire ....
 

vgendron

XLDnaute Barbatruc
Hello
je ne vois rien d'autre qu'ecrire la macro qui fait le contraire.. à savoir supprimer la ligne sélectionnée
activecell.entirerow.delete

ou alors ajouter des "vérifications" dans ta macro d'insertion qui vérifie que tu peux bien inséerer une ligne l'endroit sélectionné
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Précision: Cette macro peut ensuite être spécifiée à la méthode Application.OnUndo tout à la fin de la 1ère macro.
 

freddybee

XLDnaute Nouveau
Merci d'avoir pris le temps de me répondre.
J'ai de mon coté été trop rapide dans l'explication de mon problème : j'ai besoin du undo car la macro insère mais supprime aussi des lignes.
Lorsque je supprime une ligne via Excel, je peux annuler la commande et "récupérer" ma ligne.
Lorsque je la supprime par macro, la ligne n'est pas "mémorisée" et je ne peux pas la récupérer.
Y'a-t-il un moyen d'obliger Excel a mémoriser dans le buffer ce que je fais pour pouvoir par la suite utiliser "annuler" ?
Merci et bonne soirée
 

Dranreb

XLDnaute Barbatruc
Non. Il y seulement moyen d'indiquer à Excel quelle macro il doit utiliser pour annuler le travail effectué parce celle qui le demande. C'est donc à vous de prévoir tout ce qu'il faut pour pouvoir retrouver de quoi tout faire en sens inverse. Mais ça ce peut se faire en rangeant tout ça dans une collection.
 

Discussions similaires


Haut Bas