VBA Excel: sélection auto d'items dans un filtre
Résolu
Lena
-
Lena -
Lena -
Bonjour,
Je travaille sur Excel 2013 et grâce à f894009, j'ai pu optimiser mon code VBA pour créer un tableau croisé dynamique (T.C.D.) qui définit automatiquement la taille du tableau source.
A présent, j'aimerais savoir comment faire pour sélectionner grâce à mon code les champs d'un filtre sans les nommer entièrement, mais qui comprennent certains caractères: exemple: sélectionner les codes de villes qui comprennent "ar" ("*ar"?) sans avoir à les énumérer car il pourrait y en avoir beaucoup; quelqu'un aurait-il une idée? Voici la partie du code concernée ainsi que le lien de mon fichier: https://www.cjoint.com/c/JGokwqzXSnj:
Je vous en remercie par avance, sachant que toutes les pistes pouvant me permettre d'avancer sont les bienvenues!!
Merci!!
Je travaille sur Excel 2013 et grâce à f894009, j'ai pu optimiser mon code VBA pour créer un tableau croisé dynamique (T.C.D.) qui définit automatiquement la taille du tableau source.
A présent, j'aimerais savoir comment faire pour sélectionner grâce à mon code les champs d'un filtre sans les nommer entièrement, mais qui comprennent certains caractères: exemple: sélectionner les codes de villes qui comprennent "ar" ("*ar"?) sans avoir à les énumérer car il pourrait y en avoir beaucoup; quelqu'un aurait-il une idée? Voici la partie du code concernée ainsi que le lien de mon fichier: https://www.cjoint.com/c/JGokwqzXSnj:
Sub Creation_TCD()
Call DeletePivotTable
adr = Sheets("feuil1").UsedRange.Address
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= "Feuil1!" & Sheets("Feuil1").UsedRange.Address, Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="TT!R1C1", TableName:="Tableau croisé dynamique1", DefaultVersion:=5
Sheets("TT").Select
Cells(1, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Statut pro")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Nom")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Ville")
.Orientation = xlPageField
.Position = 1
End With
End Sub
Je vous en remercie par avance, sachant que toutes les pistes pouvant me permettre d'avancer sont les bienvenues!!
Merci!!
A voir également:
- Vba tableau croisé dynamique filtre
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Tableau word - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Tableau ascii - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peux-tu préciser "basic" comme type de code quand tu partages du VBA?
tu n'expliques pas le lien entre la sélection et ton code.
peut-être pourrais-tu nous montrer la partie de ton code qui fait la sélection en les énumérant, nous pourrons ensuite t'assister pour le modifier pour fonctionner sans énumération.
d'où viendrait "ar"?
tu n'expliques pas le lien entre la sélection et ton code.
peut-être pourrais-tu nous montrer la partie de ton code qui fait la sélection en les énumérant, nous pourrons ensuite t'assister pour le modifier pour fonctionner sans énumération.
d'où viendrait "ar"?
Et merci pour ta réponse!
Il est vrai que je ne maîtrise pas encore toutes les conventions des forums, mais à l'avenir je préciserai 'basic' pour les codes VBA.
J'ai indiqué "ar" car c'était la seule chaine de caractère commune à deux items dans cet exemple mais ça n'a pas plus de sens que cela.
Voici la partie de code demandée, générée par l'enregistreur de macros:
Merci encore!