Effacer des feuilles sauf celles nommées...
JB22
-
JB22 -
JB22 -
Bonjour,
J' ai un ficher EXCEL comprenant diverses feuilles que je dois conserver et d' autres, commençant par "R", que je veux supprimer.
J' ai la macro suivante qui supprime les feuilles que je veux supprimer mais qui supprime également les deux dernières feuilles qui doivent être conserver.
For Each sh In Worksheets
If sh.Name <> "Liste" And sh.Name <> "F.P.8" And sh.Name <> "VPC" And sh.Name <> "F.MERE" And sh.Name <> "Lisez-moi" _
And sh.Name <> "POUV" And sh.Name <> "FormVPC" And sh.Name <> "ConvAG" And sh.Name <> "P.V.A.G" _
Then sh.Delete
Next
Un grand merci pour l' aide.
J' ai un ficher EXCEL comprenant diverses feuilles que je dois conserver et d' autres, commençant par "R", que je veux supprimer.
J' ai la macro suivante qui supprime les feuilles que je veux supprimer mais qui supprime également les deux dernières feuilles qui doivent être conserver.
For Each sh In Worksheets
If sh.Name <> "Liste" And sh.Name <> "F.P.8" And sh.Name <> "VPC" And sh.Name <> "F.MERE" And sh.Name <> "Lisez-moi" _
And sh.Name <> "POUV" And sh.Name <> "FormVPC" And sh.Name <> "ConvAG" And sh.Name <> "P.V.A.G" _
Then sh.Delete
Next
Un grand merci pour l' aide.
4 réponses
-
Bonjour,
comme ceci:
Option Explicit Sub supprimer() 'Déclare la variable objet Worksheet Dim Ws As Worksheet Application.DisplayAlerts = False 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "Feuil1" And Ws.Name <> "Feuil3" Then 'adapter nom feuille à conserver Ws.Delete End If Next Ws Application.DisplayAlerts = True End Sub
-
Merci de vous avoir penché, rapidement, sur mon problème.
A la ligne 13 Next Ws j' ai le message suivant :" Référence de contrôle incorrect dans Next"
Cdt,
JB22-
un problème dans la dénomination des feuilles à conserver
si tu ne veux garder que les 2 dernières feuilles tu peux faire comme ceci:
Option Explicit Sub supprimer() 'Déclare la variable objet Worksheet Dim Ws As Worksheet Application.DisplayAlerts = False 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets If Ws.Index <> Worksheets.Count And Ws.Index <> Worksheets.Count - 1 Then Ws.Delete End If Next Ws Application.DisplayAlerts = True End Sub
@+ Le Pivert
-
-
Pour comprendre mon problème je vous expose les données.
Il s' agit de la gestion des votes en Assemblée générale, j' ai donc des feuilles qui doivent être conservées et des feuilles correspondantes à chaque question à l' ordre du jour, ces feuilles ne doivent pas être conservées dans le dossier d' une nouvelle A.G.
Toutes les feuilles de vote crées commencent par "R."
Dans la macro de création d" un dossier pour une nouvelle A?G. je veux supprimer les feuilles de résolution de l' ancienne A.G.
Je reste à votre disposition pour toutes informations complémentaires, je vous remercie de votre aide.-
Si j'ai bien compris tu veux supprimer les feuilles commençant par la lettre R ou r, c'est bien cela?
Option Explicit Option Compare Text Sub supprimer() 'Déclare la variable objet Worksheet Dim Ws As Worksheet Application.DisplayAlerts = False 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets If Left(Ws.Name, 1) = "R" Then Ws.Delete End If Next Ws Application.DisplayAlerts = True End Sub
Voilà
@+ le Pivert
-
-
Cette suppression à partir de la première lettre des feuilles à supprimer fonctionne très bien, après avoir supprimer les trois premières lignes :
1- Option Explicit
2- Compare Text
3- Sub supprimer
Je vous suis reconnaissant de votre aide et vous remercie grandement;
Cordialement,
Jean Braconnier