Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

TCD filtrer chaque nom et copier sur nouvel onglet

miliev83

XLDnaute Occasionnel
Bonjour à tous,

Après moultes recherches je n'ai pas réussi à trouver ce qu'il me fallait malgré les nombreux forums, en m'inscrivant j'espère alors que l'on pourra m'aider car je suis bloquée.

J'ai un fichier qui contient 2 onglet.
Un "BD" et un "planning" avec un tableau croisé dynamique
Le filtre concerne la colonne C "transporteur".

J'aimerai créer une macro me permettant de filtrer chaque nom de transporteur et de copier la totalité de la page avec l'entête jusqu'à la longueur de tcd filtré.
Une fois le premier transporteur sélectionner, j'aimerai exécuter ma macro "mise en page".

Ensuite venir coller chaque transporteur sur un nouvel onglet ayant comme titre le nom du transporteur copié.

Lorsque la totalité des transporteurs auront été collés, je souhaiterai une macro me permettant de supprimer ces nouvels onglets créés et d'enlever le filtre de la colonne C "transport".

J'ai mis en PJ le fichier utilisé simplifié.

Merci par avance aux personnes qui s'interessont à mon cas
 

Pièces jointes

  • Planning_finaltest.zip
    276.2 KB · Affichages: 37
  • Planning_finaltest.zip
    276.2 KB · Affichages: 37
  • Planning_finaltest.zip
    276.2 KB · Affichages: 34
Dernière édition:

titiborregan5

XLDnaute Accro
Re : TCD filtrer chaque nom et copier sur nouvel onglet

Nouveau code pour filtrer le nom du transporteur en fonction du nom de la feuille
Code:
Sub te()
Sheets(1).Range("w1:w15").AdvancedFilter xlFilterCopy, , Sheets(1).Range("e20"), True

For i = 21 To Sheets(1).Range("e19").End(xlDown).Row
Sheets("planning2").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets(1).Cells(i, 5).Value
Next
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("transport")
        For j = 1 To .PivotItems.Count
            If .PivotItems(j) = ActiveSheet.Name Then
                .PivotItems(j).Visible = True
            Else
                .PivotItems(j).Visible = False
            End If
        Next
    End With

End Sub
 

miliev83

XLDnaute Occasionnel
Re : TCD filtrer chaque nom et copier sur nouvel onglet

Ok merci mais je pense pas que cela aille car il faudra quand même que je fasse la même procédure que mon tableau c'est à dire filtrer un à un les transporteurs, protéger ma feuille et envoyer.
 

titiborregan5

XLDnaute Accro
Re : TCD filtrer chaque nom et copier sur nouvel onglet

Je recommence
en faisant un filtre avancé, tu récupères tous les transporteurs sans doublon. c'est à partir de cette liste que tu vas pouvoir créer un onglet par transporteur etc...

Le filtre avancé est le meilleur moyen pour pouvoir travailler sur tous les transporteurs sans en oublier ni en traiter en double!
 

Discussions similaires

Réponses
1
Affichages
285
Réponses
16
Affichages
639
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…