Réinitialisation du classeur à son état d'origine (Macro)

Bonjour,

Nul besoin de dire que je suis un débutant en Macro, j'apprends a peine à me servir de l'enregistrement Macro et passe à peine par le gestionnaire de modification de celles-ci.
Je vais essayer d'être le plus clair possible ^^

Excusez moi par avance si ça ne l'est pas !

Alors pour expliquer rapidement, j'ai un classeur avec une macro qui exécute un tri dans un autre fichier ouvert et qui va copier et coller les informations récupérée dans une feuille du classeur contenant la macro, après exécution de celle-ci, 4 feuilles sont générées!

Jusque là tout va bien ! J'ai réussi a faire de ma macro un vrai gain de temps!

Mais, j'aimerais bien pourvoir réinitialiser mon classeur en supprimant les feuilles générées pour relancer la macro plusieurs fois à la file.

Le problème étant qu'après réinitialisation , quand il créé une nouvelle feuille, celle-ci ne s'appelle plus "feuil1" et donc il ne veux plus exécuter la macro!

Il y aurait t-il un moyen de réinitialiser la création de feuille en repartant de "feuil1" sans fermer le programme ?

Merci par avance !

Bonjour,

Pour ma part, ce n'est pas encore tout à fait clair. Que fait votre macro actuellement et que voudriez-vous qu'elle fasse de plus ou de moins ? Pourriez-vous poster votre code, si possible commenté, pour faciliter la compréhension ?

Merci

Cdlt,

Bonsoir,

donc un classeur "maitre" qui scan et filtre un second classeur afin de rapatrier les données en son sein et ce sur 4 feuilles qui sont crées au fur et à mesure.
Ensuite l'idée est de supprimer ces 4 feuilles afin de recommencer la procédure avec un autre classeur extérieur par exemple.
du coup dans votre code vous supprimez les feuilles dont les noms sont les suivants : Feuil1, Feuil2 , Feuil3 et Feuil4.

Mais lors de la créations des 4 nouvelles feuilles, Excel le nomment non plus feuil1 pour la première mais feuil5 ! Du coup la partie de macro qui supprime les 4 feuilles ainsi crées ne fonctionne plus car Feuil1 n'existe plus en nom mais c'est Feuil5.

Deux solutions (au moins) s'offrent à vous :
La première maitriser le nom des feuilles suite à leur création avec : ActiveSheet.Name = "nomdelafeuille1", en effet lors de la création d'une feuille celle-ci se retrouve automatique sélectionnée, donc le ActiveSheet suffit pour la cibler, après il suffit de lui donner un nom. Comme cela vous le connaîtrez tout le temps.
La deuxième est de jouer avec les index, pour cela il suffit de créer la nouvelle feuille en fin de classeur avec : Sheets.Add After:=Sheets(Worksheets.Count)
du coup lors de la suppression des feuilles il suffit de supprimer les feuilles ayant les 4 dernier Index du classeur qui sont en fait les 4 dernières feuilles créées :

Dim I, K
Application.DisplayAlerts = False
    K = Worksheets.Count
    For I = K To K - 3 Step -1
        Sheets(I).Delete
    Next I
Application.DisplayAlerts = True

@ bientôt

LouReeD

IMPRESSIONNANT !!! Cela fonctionne à merveille !!!! Merci pour votre réponse encore une fois !

Bonjour,

Merci pour vos remerciements !
Mais tâchez la prochaine fois de fournir un fichier "type" en rapport avec votre question

@ bientôt

LouReeD

Promis !!

@ bientôt

LouReeD

Rechercher des sujets similaires à "reinitialisation classeur etat origine macro"