Effacer feuilles non desirables

  • Initiateur de la discussion Initiateur de la discussion alan
  • 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 !

alan

XLDnaute Occasionnel
Bonjour,

J'ai une macro qui me permets de copier/coller valeurs toutes mes feuilles d'un meme classeur 1 afin d'eliminer ses equations. J'aimerai adapter cette macro pour qu'elle me supprime dans la foulee (apres l'action de cette macro) toutes les feuilles qui ont un nom de plus de 2 chiffres ou qui contiennent une lettre.
Je ne garderai en fait que les onglets appeles 12, 13 ou 49 et supprimmerai ceux appelles BT21, topur ou encore 123 par exemple.
De plus, est il possible que j'applique cette action a distance cad a partir d'un autre classeur 2 sans ouvrir le classeur 1?

Sub copy()
Application.ScreenUpdating = False
Nb = ActiveWorkbook.Sheets.Count
For Sh = 1 To Nb
Sheets(Sh).Activate
On Error Resume Next
ActiveSheet.UsedRange.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next Sh
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Merci d'avance
 
Re : Effacer feuilles non desirables

Bonjour Alan, bonjour le forum,

Ta macro modifiée à tester sur un copie du fichier original :

Code:
Sub copy()
Dim sh As Worksheet 'déclare la variable sh
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'masque les messages Excel
'Nb = ActiveWorkbook.Sheets.Count
 
For Each sh In Sheets 'boucle sur tous les onglets du classeur
    sh.Activate 'sélectionne l'onglet
 
    If Len(sh.Name) > 2 Then 'condition : si le nombre de caractères du nom de l'onglet est supérieur à 2
        sh.Delete 'supprime l'onglet
        GoTo suite 'passe à l'onglet suivant via l'étiquette "suite"
    End If 'fin de la condition
 
    On Error Resume Next
    ActiveSheet.UsedRange.Select
    Selection.copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
suite: 'étiquette
Next sh 'prochaine onglet du classeur
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True 'affiche les messages Excel
End Sub
 
Re : Effacer feuilles non desirables

Bonjour Robert,

Merci pour ta macro. J'ai cependant plusieurs problemes:
1) certaines feuilles sont des graphs et je pense que la macro bloque a celles ci
2) mes feuilles a deux lettres ne sont pas effacees...je ne voudrai garder que les feuilles a 2 chiffres
3) est il possible de forcer la macro a copier/coller toutes les feuilles d'abord puis de les effacer? mes feuilles a 2 chiffres sont en fait des formules qui font appel aux donnees de mes feuilles a lettres et/ou autres...du coup quand j'applique la macro, toutes mes feuilles restantes me donnent #ref.
Surement une histoire d'ordre des taches...
 
- 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

Discussions similaires

Réponses
7
Affichages
454
Réponses
2
Affichages
643
Réponses
8
Affichages
1 K
W
Réponses
4
Affichages
3 K
WhatIsVBA
W
C
Réponses
1
Affichages
1 K
Cattleya97
C
L
Réponses
1
Affichages
1 K
Réponses
4
Affichages
995
Réponses
1
Affichages
1 K
P
  • Question Question
Réponses
3
Affichages
1 K
Retour