[XL-2003] Macro Rétablir une suppression (lignes, colonnes) dans une feuille

Airone1CF03 Messages postés 24 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 27 juin 2012 - 16 févr. 2010 à 15:11
Airone1CF03 Messages postés 24 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 27 juin 2012 - 16 févr. 2010 à 16:40
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.

1 réponse

Airone1CF03 Messages postés 24 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 27 juin 2012
16 févr. 2010 à 16:40
Merci de supprimer ce post. Il y a une erreur dans le titre, et je ne peux pas éditer celui-ci.
0
Rejoignez-nous