Microsoft 365 Comparer le nom d'une feuille à une liste de noms

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 !

fattah_5791

XLDnaute Occasionnel
bonsoir tout le monde,

merci de m'aider à concevoir un petit truc du code vba: dans un classeur excel où il ya plusieurs feuilles (nbr qui varie selon le deroulement de l'applicatif), je veux copier le contenu de la feuille (i) sous condition que son nom soit different d'une liste de noms connus.

exemple: je veux copier un contenu d'une plage de la feuille(i) sous condition que son nom soit different des noms suivants: model; Base; Plan; listes.

Merci infiniment
 
Bonjour,
une suggestion, même si je ne suis pas complètement sûr d'avoir bien compris le besoin :
VB:
Sub Copie()
Dim i&, j&, Liste
Liste = Array("model", "Base", "Plan", "listes")
    For i = 1 To ThisWorkbook.Worksheets.Count
        For j = LBound(Liste) To UBound(Liste)
            If ThisWorkbook.Sheets(i).Name = Liste(j) Then
                Exit Sub
            Else
                ThisWorkbook.Sheets(i).Range("mon_champ").Copy Destination:=ThisWorkbook.Sheets("mafeuille").Range("un_autre_champ")
            End If
        Next j
    Next i
End Sub
Cordialement
 
Bonsoir le fil

@fattah_5791
Joindre un fichier exemple serait un plus pour t'apporter de l'aide.

Sans fichier joint, il n'y aura rien pour m'empêcher d'aller au dodo.

A toi de voir 😉
Bnj et merci pour ta reaction

Ci joint un classeur exemple en PJ

ce qui est demandé: copier le contenu de la feuille(i), feuille(i+1) jusqu'à la feuille(n) et mettre le resultat dans la feuille(Base) en excluant de copier des feuilles: Model, Index, Plan, Listes, Base.
remarque: n est une variable variant de i=1 jusqu'au nombre de feuilles desquelles je dois copier les données.

Merci infiniment
 

Pièces jointes

Bonjour,
une suggestion, même si je ne suis pas complètement sûr d'avoir bien compris le besoin :
VB:
Sub Copie()
Dim i&, j&, Liste
Liste = Array("model", "Base", "Plan", "listes")
    For i = 1 To ThisWorkbook.Worksheets.Count
        For j = LBound(Liste) To UBound(Liste)
            If ThisWorkbook.Sheets(i).Name = Liste(j) Then
                Exit Sub
            Else
                ThisWorkbook.Sheets(i).Range("mon_champ").Copy Destination:=ThisWorkbook.Sheets("mafeuille").Range("un_autre_champ")
            End If
        Next j
    Next i
End Sub
Cordialement
Merci infiniment Gégé-45550 pour ton code que je dois adapter à mon truc
 
- 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
26
Affichages
1 K
Retour