Probleme de Filtre

Bonjour a tous! je suis nouveau membre sur ce forum! Voila, j'ai un souci technique. Ne trouvant pas la solution, je m'en remet a vous, les maitres Yoda d'excel, pour soluce.

https://www.excel-pratique.com/~files/doc/Choix_du_mois_filtre.xls

J'ai un tableau en filtre automatique avec des champs : mois, fournisseurs, montnant,etc...

et j'aimerais filtrer mon tableau pour un mois specifique. Le mois a filtré se trouve en fait dans une une cellule de liste de mois (janvier a decembre).

Le fichier excel joint vous resume mon blocage. Merci d'avance.

Bonjour,

Je te propose une solution par TCD.

Vois le fichier joint dans lequel le choix du mois s'effectue dans la cellule K3 au lieu de passe par une liste de validation en D3.

Pour mettre à jour en cas de modification du tableau, fais un clique droite dans le TCD, puis "actualiser les données".

Tu peux bien entendu mettre ce tableau dans une autre feuille.

Si tu as des questions n'hésite pas

fichier : https://www.excel-pratique.com/~files/doc/AI0DYChoix_du_mois_filtre.xls

Amicalement

Dan

Bonjour,

bonjour Dan

regarde le fichier joint

j'ai rajouté Tous en début de liste, afin de défiltrer

En sélectionnant ton mois dans la cellule D3, le filtre s'effectue

https://www.excel-pratique.com/~files/doc/DVU7JChoix_du_mois_filtre_v1.xls

Bonjour,

Super ta solution Félix, je la note... elle va me servir !

V_Elbie

merci les gars je vais essayer tout cela de tout de suite.

bonsoir,

le bon vieux filtre élaboré.

https://www.excel-pratique.com/~files/doc/mois_filtre.xls

Tu as le choix !!

salut felix, pourquoi ta solution ne marche pas chez moi ? version ?

amicalement

Claude.

Merci a Dan et a Felix ! C'est exactement le resultat que je voulai!

Mais dis moi Felix, comment tu as fait pour filtrer dans le TCD ? J'ai regardé dans le filtre, mais aucune relation avec la cellule D3. Mon cerveau d'excelien voudrait quelques petites explications.

C'est trop bien excel!

Re-,

soussou, fais un clic droit sur le nom de l'onglet, et Visualiser le code, tu verras ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then
If Target = "Tous" Then
    Selection.AutoFilter Field:=1
Else
    [A1].AutoFilter Field:=1, Criteria1:=Target
End If
End If
End Sub

Claude, lorsque tu enregistres avec l'enregistreur, quel code VBA te met lorsque tu fais un filtre?

Sinon, t'aurais pas un EnableEvents de coincé?

Bonsoir,

Salut Claude et Félix,

La solution de Félix marche super bien chez moi, mais c'est la tienne Claude, que je n'arrive pas à faire fonctionner : Erreur d'exécution 1004 : la méthode "range" de l'objet global a échoué. J'essaie de trouver pourquoi.

Amicalement,

Re,

Soussou, Felix ne filtre pas dans le TCD mais il t'a construit une macro qui filtre ton tableau en fonction du choix effectué dans la celllule D3.

Amicalement

Dan

edit : Claude même pb chez moi que V_Elbie

Re-

effectivement, j'utilise une macro...

Pour V_Elbie, dans le code de Claude, remplace Critères par Criteria, ou enlève le è, et mets un e à Criteres

re,

felix,

Selection.AutoFilter

j'ai fait un :

Application.EnableEvents = True

c'est pareil, mais c'est pas grave, de façon général, je n'aime pas trop les "cellules validation"

Laisse tomber ! et merci

Claude

Merci Félix,

Les deux solutions résolvent le problème de bug en ce sens qu'elles débloquent la macro, mais par contre dans la cellule de validation, c'est toujours mois qui reste affiché.

Mais c'est pas grave, ta solution marche, et je l'ai enregistrée, donc c'est cool !

Bonne soirée,

C'est pour ça que je ne comprenais rien. Et comme je ne suis pas encore passé a la programmation VB....

Encore une petite question d'amateur : comment intégrer ce code dans mon fichier excel d'origine? A glisser dans une cellule ou dans la feuille? Question simple pour vous mais moi je nage... Merci a l'avance pour les réponses.

Re-,

pour l'insérer dans ton programme, tu fais comme je te l'ai dit, un clic droit sur le nom de l'onglet, Visualiser le code, et tu colles ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then
If Target = "Tous" Then
    Selection.AutoFilter Field:=1
Else
    [A1].AutoFilter Field:=1, Criteria1:=Target
End If
End If
End Sub 

Pour le modifier, Target est la cellule qu'on change, donc tu modifies en fonction de la cellule qui comporte la liste de validation

ensuite tu n'as rien à faire, une feuille Excel ne pouvant contenir qu'un seul filtre automatique, le filtre se mettra donc à jour

PS, il faut pour cela que le filtre soit installé

Probleme resolu pour moi. Merci a tous!

Rechercher des sujets similaires à "probleme filtre"