Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dévalider la fonction undo avant une macro ?

8 réponses
Avatar
Christophe
Bonjour à tous,
je cherche un moyen de dévalider la commande undo juste avant
l'exécution d'une macro, puis de la réactiver juste avant d'en sortir
afin de pouvoir revenir au texte de départ si le résultat donné par la
macro n'est pas celui attendu. Sans cela, en appuyant sur "annuler la
dernière action", on voit défiler une à une toutes les étapes de la
macro, ce qui peut être long pour revenir à l'état initial !
Je n'ai rien trouvé de concluant dans l'aide.
Merci de vos idées.
Christophe.

8 réponses

Avatar
Geo
Bonjour Christophe


Bonjour à tous,
je cherche un moyen de dévalider la commande undo juste avant
l'exécution d'une macro, puis de la réactiver juste avant d'en
sortir

afin de pouvoir revenir au texte de départ si le résultat donné par
la

macro n'est pas celui attendu. Sans cela, en appuyant sur "annuler
la

dernière action", on voit défiler une à une toutes les étapes de la
macro, ce qui peut être long pour revenir à l'état initial !
Je n'ai rien trouvé de concluant dans l'aide.


Annuler le "défaire" n'existerait pas, en tous cas on en parle de
temps en temps sur ce forum et sans réponse positive.
Mais en fait ce n'est pas cela que tu veux, tu voudrais un revenir à
un point précis, dans ce cas les versions seraient une piste.
Il faudrait enregistrer le document avec Fichier Version Enregistrer
et y revenir si nécessaire.
Mais le gain est-il notable ?

--

A+

Avatar
Anacoluthe
Bonjour !

'Christophe' nous a écrit ...
je cherche un moyen de dévalider la commande undo juste avant
l'exécution d'une macro, puis de la réactiver juste avant d'en sortir
afin de pouvoir revenir au texte de départ si le résultat donné par la
macro n'est pas celui attendu. Sans cela, en appuyant sur "annuler la
dernière action", on voit défiler une à une toutes les étapes de la
macro, ce qui peut être long pour revenir à l'état initial !
Je n'ai rien trouvé de concluant dans l'aide.


Pour vider la pile des Undo il suffit de faire
ActiveDocument.UndoClear

Comme l'a dit Geo ceci ne résoudra pas votre problème : il faudra
pour annuler toute la macro faire autant de Undo (Ctrl-Z)
que la macro aura ajouté de commandes dans la pile Undo.
R Lievaart avait proposé de grouper tous ces Ctrl-Z
en un seul en plaçant en début de macro un signet test
lequel était effacé en fin de macro. Ensuite il détournait
Ctrl-Z pour boucler les Undo jusqu'à retrouver le signet :
http://groups.google.com/groups?selm87f8417.9282415%40news.xs4all.nl
C'est ingénieux, mais c'est assez dangereux car si
le Ctrl-Z n'est pas restitué, c'est un truc à vous
détricoter tout un document !!! :-D
Dites-nous si cette idée vous conviendrait quand même ;-)

Le plus simple serait de faire une deuxième macro qui
annule la première (au besoin par retour au document
sauvé comme dit Geo ou avec ActiveDocument.Undo N )

Anacoluthe
« Faire, défaire, pour mieux faire. »
- Eugène SCHUELLER

Avatar
Clément Marcotte
Bonjour,

Le plus simple serait de faire une deuxième macro qui
annule la première (au besoin par retour au document
sauvé comme dit Geo ou avec ActiveDocument.Undo N )


Moi je pencherais pour enregistrer le document, au pire sous un autre
nom, au début de la macro. Ensuite si cela foire, juste à rouvrir le
fichier enregistré. Je sais, il y en a qui diraient que c'est agricole
comme solution, mais pourquoi se compliquer la vie pour si peu.

Avatar
Geo
Bonjour Anacoluthe


Pour vider la pile des Undo il suffit de faire
ActiveDocument.UndoClear


T'aurais pas pu la sortir celle-là quand j'en ai eu besoin ? :-D
Bon va falloir que je retrouve ma macro qui est obligée de s'en
passer.

En relisant la question je me demande si un simple blocage de
l'affichage ne suffirait pas pendant le détricotage.

Christophe ! si tu nous écoutes !

Avatar
Anacoluthe
Bonjour !

'Geo' nous a écrit ...
T'aurais pas pu la sortir celle-là quand j'en ai eu besoin ? :-D


euhhh j'ai dû mal suivre ... :-[ ;-)
A+

Anacoluthe
« Un ami, c’est quelqu’un sur qui vous pouvez compter
pour compter sur vous. »
- Jean PAULHAN

Avatar
JieL in Seattle
Hello world of word

-----Message d'origine-----
T'aurais pas pu la sortir celle-là quand j'en ai eu
besoin ? :-D

Bon va falloir que je retrouve ma macro qui est obligée
de s'en

passer.


serait-ce une macro superfetatoire que tu nous aurais
cachee ????
J'ai pose la question a Bill, dorenavant toute macro
superfetatoire sera remplacee par une page entiere de
XML... a ecrire a la main... ;-))))))))))

JieL Ixe aime elle hiseur

Avatar
Christophe

En relisant la question je me demande si un simple blocage de
l'affichage ne suffirait pas pendant le détricotage.

Christophe ! si tu nous écoutes !

Bonsoir à tous , et merci de vos idées.

En fait, j'avais bien trouvé le ActiveDocument.UndoClear mais il ne
résout pas mon problème puisque je veux pouvoir revenir à un état précis
du document. Faire une sauvegarde avant de lancer la macro n'est pas
réalisable car je n'aime pas trop utiliser un marteau pilon pour écraser
une mouche (je n'aime pas écraser une mouche tout court !).
Mais déjà de savoir que la fonction que je cherche n'existe pas me
satisfait : je vais essayer d'y passer un peu de temps et si je trouve,
je vous tiens au courant !
Je viens de regarder le lien proposé par Anacoluthe, cela me semble une
piste très intéressante. Je vais l'emprunter...
A bientôt
Christophe

Avatar
geo
Bonjour

Hello world of word


Heu ! tu peux traduire en français là ?

[...]

J'ai pose la question a Bill, dorenavant toute macro
superfetatoire sera remplacee par une page entiere de
XML... a ecrire a la main... ;-))))))))))


Mais c'est inhumain ça !

Question : en traversant la flaque, aurais-tu perdu les
accents pas superfétatoire ?

A+