Faire filtre avec macro excel, urgent svp
Résolu/Fermé
naya85
Messages postés
27
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
-
6 juin 2008 à 16:50
ha - 14 juin 2009 à 17:30
ha - 14 juin 2009 à 17:30
A voir également:
- Faire filtre avec macro excel, urgent svp
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Si et excel - Guide
- Aller à la ligne excel - Guide
1 réponse
m@rina
Messages postés
21093
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
27 novembre 2024
11 361
6 juin 2008 à 17:37
6 juin 2008 à 17:37
Bonjour,
Plus de clarté serait effectivement bien utile !...
m@rina
Plus de clarté serait effectivement bien utile !...
m@rina
6 juin 2008 à 18:54
en fait j'ai un fichier excel avec plusieurs feuilles
Comment faire un filtre sur une colonne via une liste déroulante à la place de 10 boutons (qui activent chacun une macro genre filtre automatique) ?
En plus précis :
- j'ai 10 colonnes
- le filtre automatique est en place
- sur une colonne (par exemple) j'ai besoin de filtrer différents lots (l1,l2,l3,l3b...)
Comment éviter ses boutons ? pour chaque colonne ?
J'aimerai un menu déroulant qui me proposeles différents lots pour cet exemple (ou les éléments inscrits dans la colonne) à la place des 10 boutons
6 juin 2008 à 19:31
Je ne suis pas certaine que tu n'es pas en train de réinventer l'eau chaude !! :D
Tes filtres automatiques sont bien sous forme de liste déroulante ?.... Alors évidemment, on peut en créer soi même, mais est ce vraiment utile ?
Si tu as besoin de faire régulièrement les mêmes filtres, tu peux effectivement faire une macro qui filtre associée à un bouton, plus un bouton pour tout afficher.
Si le but est de combiner rapidement plusieurs filtres, tu peux effectivement créer une userform avec des listes déroulantes.
m@rina
11 juin 2008 à 14:11
Merci pour la réponse et jespère que tu te portes bien
en fait jaurais autre chose à te demander stp , voilà j'ai une base de données (une table) constituée de 5 champs , je voudrais faire une macro qui me permet de faire un tableau dynamique croisé. Comment je peux m'y prendre?
jai également une seconde question : comment je peux faire une liste déroulante via une macro
Merci
@+++
11 juin 2008 à 14:27
Pour ta première question : as tu vraiment besoin d'une macro pour faire un tableau croisé ?... Une macro est utile pour faire un travail répétitif ou bien quand on n'a pas d'autres solutions. Or, il me semble qu'un tableau croisé, on le fait une seule fois et ensuite il suffit de le mettre à jour.
Tu peux éventuellement créer une macro pour qu'il se mette à jour dès que la base est modifiée...
Si tu tiens vraiment à la macro, utilise l'enregistreur de macro pour créer le TCD, puis revois le code.
Concernant la liste déroulante, tout dépend de ce que tu veux faire. S'il s'agit d'avoir une liste déroulante sur une page, tu peux utiliser :
- la validation (Menu Données, validation), sans macro
- la liste déroulante de la barre d'outils Formulaire, sans macro
- la liste déroulante des contrôles activex, avec macro
Mais cela dépend évidemment de ton problème précis. Si tu veux être plus précis, je te conseille de créer un nouveau topic, même deux car a priori tu as deux problèmes.
m@rina
12 juin 2008 à 16:09
En effet , tu as parfaitement raison j'ai vu qu'il était inutile de créer un tableau croisé dynamique
toutefois je lai qd même crée lol javais pas vu ta réponse avant sinon je ne me serais pas cassé la têteà la créer lol
bon voici ma macro
Sub CreerTDC()
Application.WindowState = xlNormal
ActiveWorkbook.ShowPivotTableFieldList = False
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Données brutes'!R1C1:R2039C5").CreatePivotTable TableDestination:="", _
TableName:="Tableau croisé dynamique2", DefaultVersion:= _
xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Path")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Test Set")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Test Status")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("Test Name (Instance)"), _
"Nombre de Test Name (Instance)", xlCount
'ActiveWorkbook.ShowPivotTableFieldList = False
' ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect "Path", _
' xlButton, True
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Exec Date")
.Orientation = xlPageField
.Position = 2
End With
End Sub
maintenant je me suis en effet posée la question comment je peux créer une macro pour qu'il se mette à jour dès que la base est modifiée...
je te remercie et te souhaite une bonne fin de journée
aurevoir jespère
Naya