[XL-2003] Macro Rétablir une suppression

Air1 -  
 Air1 -
Bonjour à tous,


Je vous sollicite car j'ai besoin d'une grande aide. En effet, après quelques heures de recherche sur Internet, je n'ai pas encore trouvé de réponses à ma question.


Je souhaite écrire une macro qui annule la suppression de lignes, de colonnes ou de toutes les cellules dans une feuille de calcul. (c'est à dire que la feuille de calcul revienne à l'état d'avant la suppression, avec les mêmes valeurs et la même mise en forme). Excel le fait facilement, donc cela doit être possible à faire. Le problème est que je n'ai pas accès au code Excel...


J'ai donc bien cerné le fonctionnement de l'application Undo (Application.Undo). Mon idée était de déclarer l'ensemble de mes cellules dans une variable, puis, après suppression, de coller les données (correspondant aux cellules avant suppression) de cette variable dans ma feuille de calcul.


Comme d'habitude, j'utilise une variable "Range" :

Sub UndoSuppression()

Dim RangeSave as Range

Set RangeSave = Cells

End Sub


Mais la variable "RangeSave" s'adapte à la sélection, c'est à dire que quand, par exemple, je supprime 2 lignes, ces 2 lignes ne sont plus présentes dans "RangeSave". Mon objectif est donc de fixer la plage de données dans une variable, celle-ci restant TOUJOURS la même quelque soit les opérations effectuées (suppression de lignes...).


J'avais aussi pensé à boucler sur l'ensemble des cellules, mais cela est bien sûr ultra long, car il faut gérer plus de 15 millions de cellules !!!



Encore une fois, Excel le fait très simplement et rapidement, donc je pense que cela est largement faisable.



Si vous avez des idées ou des solutions, n'hésitez pas à les faire partager, pour faire avancer les autres ainsi que moi-même.



Merci d'avance et bonne journée.
A voir également:

2 réponses

Chico95
 
Salut,

j'ai pas très bien compris ton problème, est-ce une macro qui supprime les lignes ?

Si excel le fait simplement, enregistre une macro pendant que tu le fais sur Excel et va dans VB pour voir le code dans la partie module ! (barre d'outil macro / enregistrer une macro)
0
Air1
 
Salut,

Oups, je me suis trompé dans le titre. Il faut lire "[XL-2003] Macro ANNULER une suppression" et non "[XL-2003] Macro Rétablir une suppression". Désolé.


Ce que je veux, c'est que suis à la suppression de lignes ou colonnes par une macro, je puisse annuler la suppression en revenant à l'état de la feuille de calcul AVANT suppression.


Je sais que l'application Undo permet, en cliquant sur la flèche bleu (ou appuyant simultanément sur les touches "Ctrl" et "Z") "Annuler" de la barre de menus, d'annuler l'action de suppression et de revenir à l'était INITIAL de la feuille de calcul.


Ecriture de l'application Undo :

Application.Undo "&Texte à afficher sous la flèche bleu", "Macro_Suppression".


J'espère avoir été plus clair.


Merci pour la réponse et désolé pour l'erreur dans le titre.
0
Air1
 
Le titre est erroné, et il n'est pas possible de le modifier.

Retrouvez-donc ce sujet modifier à cette adresse :

https://forums.commentcamarche.net/forum/affich-16621093-vba-macro-annuler-une-suppression-par-macr


Merci donc de supprimer ce sujet.
0