Annuler l'action d'une macro

  • Initiateur de la discussion Initiateur de la discussion Thilam
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Thilam

Guest
Bonjour à tous,

J'ai écrit une macro excel pour me fabriquer une fonction de recopie 'intelligente' qui ne copie que les formules, les formats et alignements de nombres (pour éviter de casser la mise en forme des tableaux). Elle intéresse d'autres personnes mais je ne voudrais pas la diffuser sans qu'il soit possible d'annuler l'action effectuée (comme pour n'importe quelle fonction excel).

1/ Est-ce qu'une fonction de ce type existe déjà (avec annulation possible)? Auquel cas je suis preneur, quitte à l'adapter.

2/Comment faire pour mémoriser quelque part la plage de cellules dans son état initial afin de pouvoir l'utiliser dans la macro de retour en arrière (sans créer une autre feuille de calcul et faire un copier coller bien sûr)? Est-ce qu'on peut utiliser un tableau dans VBA et comment fait-on?

3/Est-ce qu'il y a une autre solution pour revenir en arrière? (Je ne sais pas comment procède excel pour annuler les actions effectuées)

Bien sûr, une fois le pb règlè, si la macro intéresse quelqu'un...

Merci et joyeuses fêtes
Thilam
 
Que C... je fais, j'oublie de te donner les dits renseignements

La commande Annuler de l'interface utilisateur utilise la méthode UndoAction. Par exemple, si vous collez du texte dans le contrôle TextBox, vous pouvez utiliser UndoAction pour retirer ce texte et restaurer le contenu précédent du contrôle TextBox.

Toutes les actions utilisateur ne peuvent pas être annulées. Si une action ne peut pas être annulée, la commande Annuler est indisponible à la suite de cette action.
 
Salut jacky, et merci de te pencher sur mon cas.

Apparemment la méthode undoaction ne fonctionne qu'avec les formulaires.

Dans mon cas, il faudrait pouvoir restaurer, par exemple, la plage a2:c350 telle qu'elle était avant que la macro ne recopie les formules des cellules a2:c2 sur les 347 lignes en dessous.

je pensais peut-être pouvoir stocker le champ en question dans une variable et faire un collage à l'emplacement d'origine, lorsque l'utilisateur fait édition/annuler. Je me débrouille plutôt bien en Excel pur mais je ne suis pas un pro du VBA.
Cdt
Thilam
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
  • Question Question
Réponses
1
Affichages
1 K
V
Réponses
3
Affichages
1 K
N
Réponses
6
Affichages
2 K
S
Réponses
2
Affichages
882
shapenzi
S
Réponses
7
Affichages
1 K
Retour