Rechercher : dans
Par :

Faire filtre avec macro excel, urgent svp

Dernière réponse le 14 jun 2009 à 17:30:34 naya85, le 6 jun 2008 à 16:50:45 
 Signaler ce message aux modérateurs

Je voudrais créer des filtres avec des macros excel

genre des pointeurs qui pointent sur des fichiers par exple qd tu choisis un critère celui ci te dirige vers un fichier et le nom de ce fichier

merci de me répondre si besoin de plus de clarté

++

1

m@rina, le 6 jun 2008 à 17:37:51

Bonjour,

Plus de clarté serait effectivement bien utile !...

m@rina

Répondre à m@rina

2

naya85, le 6 jun 2008 à 18:54:23
  • +1

Merci pour m'avoir répondue aussi rapidement
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

Répondre à naya85

3

m@rina, le 6 jun 2008 à 19:31:42

Bonjour,

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

Répondre à m@rina

4

naya85, le 11 jun 2008 à 14:11:42

Bonjour marina,

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

@+++

Répondre à naya85

5

m@rina, le 11 jun 2008 à 14:27:13

Bonjour,

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

Répondre à m@rina

6

naya85, le 12 jun 2008 à 16:09:26
  • +1

Merci bcp pour tes réponses :-)

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

Répondre à naya85

7

m@rina, le 12 jun 2008 à 16:44:22
  • +1

Bonjour Naya

Effectivement, pas besoin de macro pour faire un tcd !! ;))

Pour le mettre à jour,il faut d'abord prévoir de créer le tableau avec non pas une référence à une plage de données, mais avec un nom, et surtout si la base s'agrandit, avec, de préférence un nom DECALER... (Si Chtilou passe par là, ça va le faire rire ! ;))

A partir de là, il suffira de cliquer sur le bouton de mise à jour du TCD (!) pour qu'il se mette à jour.
Et si vraiment, c'est trop pénible;))), une petite macro événementielle :

Private Sub Worksheet_Activate()
Sheets("tcd").PivotTables("mon_TCD").PivotCache.Refresh
End Sub

A mettre dans la feuille.

m@rina

Répondre à m@rina

8

naya85, le 17 jun 2008 à 16:23:07

Bonjour,

j'ai crée un tableau dont j'ai coloré les colonnes avec une macro , le problème est que les colonnes sont colorés au delà du tableau .... comment pourrais arrêter la coloration à la fin du tableau

Merci!

j'espère que je ne te dérange pas avec mes questions :-)



@+

Répondre à naya85

11

 ha, le 14 jun 2009 à 17:30:34

OK pour actualiser un TCD avec des dimensions données. Qu'en-est-il si les colonnes auxquelles le TCD doit faire référence, ces colonnes ont été modifiées en nombre. Est-ce que le macro est toujours valable?

Répondre à ha

9

anfarce 93220, le 19 mai 2009 à 18:30:00

Qui a inventé la première voiture

Répondre à anfarce 93220

10

anfarce 93220, le 19 mai 2009 à 18:30:00

Qui a inventé la première voiture

Répondre à anfarce 93220