OVH Cloud OVH Cloud

Filtrer dynamiquement une table Excel

4 réponses
Avatar
Croy
Bonjour les amis,

Pour des besoins de contr=F4les, de recherche et d'identification
d'informations erron=E9es j'importe r=E9guli=E8rement sur Excel des bases
de donn=E9es provenant de logiciels comptables et financiers. Ces bases
comportent g=E9n=E9ralement plusieurs dizaines de milliers
d'enregistrements et un nombre cons=E9quent de colonnes.

Pour rassembler les informations de m=EAmes natures je "plie" la base
Excel =E0 l'aide des fl=E8ches de filtres automatiques.

Dans le m=EAme esprit j'utilise des menus d=E9roulants. Dans ce cas, je
cr=E9e en colonne A un test (un b=EAte si.) qui g=E9n=E8re une croix dans
chaque enregistrement qui contient la m=EAme information que celle
choisie via le menu d=E9roulant. A l'aide de la fl=E8che de filtre je
suis donc en mesure de plier la table selon l'option qui a =E9t=E9
choisie dans le menu d=E9roulant.

Jusque l=E0 tout va tr=E8s bien.

Je souhaiterais cependant pouvoir rendre le filtre dynamique. Par l=E0
je veux dire que le tableau se plie automatiquement et instantan=E9ment
au gr=E9 des choix. En effet, =E0 l'heure actuelle si le tableau est
pli=E9 (en ayant s=E9lectionn=E9 le "x" g=E9n=E9r=E9 dans la colonne A) si =
je
change le choix via le menu d=E9roulant, les "x" se mettent bien =E0 jour
au niveau de chaque enregistrement, mais le filtre lui reste statique :
le tableau reste pli=E9 la m=EAme chose. Je suis oblig=E9 de d=E9plier
manuellement la table et de la replier une nouvelle fois pour que le
filtre reconnaisse le fait que les "x" ont chang=E9 de place.

A tout hasard si quelqu'un aurait une solution ? Un grand merci
d'avance, - Croy

4 réponses

Avatar
DarthMac
personnellement, je n'ai rien compris, désolé.

mac

Bonjour les amis,

Pour des besoins de contrôles, de recherche et d'identification
d'informations erronées j'importe régulièrement sur Excel des bases
de données provenant de logiciels comptables et financiers. Ces bases
comportent généralement plusieurs dizaines de milliers
d'enregistrements et un nombre conséquent de colonnes.

Pour rassembler les informations de mêmes natures je "plie" la base
Excel à l'aide des flèches de filtres automatiques.

Dans le même esprit j'utilise des menus déroulants. Dans ce cas, je
crée en colonne A un test (un bête si.) qui génère une croix dans
chaque enregistrement qui contient la même information que celle
choisie via le menu déroulant. A l'aide de la flèche de filtre je
suis donc en mesure de plier la table selon l'option qui a été
choisie dans le menu déroulant.

Jusque là tout va très bien.

Je souhaiterais cependant pouvoir rendre le filtre dynamique. Par là
je veux dire que le tableau se plie automatiquement et instantanément
au gré des choix. En effet, à l'heure actuelle si le tableau est
plié (en ayant sélectionné le "x" généré dans la colonne A) si je
change le choix via le menu déroulant, les "x" se mettent bien à jour
au niveau de chaque enregistrement, mais le filtre lui reste statique :
le tableau reste plié la même chose. Je suis obligé de déplier
manuellement la table et de la replier une nouvelle fois pour que le
filtre reconnaisse le fait que les "x" ont changé de place.

A tout hasard si quelqu'un aurait une solution ? Un grand merci
d'avance, - Croy


Avatar
ben
Bonjour

j'ai une solution qui n'est pas tout à fait dynamique mais qui peut vous
aider

la valeur field =... est à modifier en fonction du fichier

soit création d'un boutton à coté de votre liste déroulante avec le code
suivant associé :
Private Sub CommandButton1_Click()
Cells(1, 1).Select
Selection.AutoFilter Field:=1, Criteria1:="X"
End Sub

soit avec ce code réagissant à un double clik sur la feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel
As Boolean)
Cells(1, 1).Select
Selection.AutoFilter Field:=1, Criteria1:="X"
End Sub



vous auriez pu essayer ce code qui sera réellement dynamique mais vu la
taille des fichiers, cela risque d'être très long voire interminable
(ATTENTION AVANT ESSAI de ce dernier de tout sauvegarder et de faire essai
sur un fichier "martyre")

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Cells(1, 1).Select
Selection.AutoFilter Field:=1, Criteria1:="X"

End Sub


nous tenir au cournant


"DarthMac" a écrit dans le message de
news:
personnellement, je n'ai rien compris, désolé.

mac

Bonjour les amis,

Pour des besoins de contrôles, de recherche et d'identification
d'informations erronées j'importe régulièrement sur Excel des bases
de données provenant de logiciels comptables et financiers. Ces bases
comportent généralement plusieurs dizaines de milliers
d'enregistrements et un nombre conséquent de colonnes.

Pour rassembler les informations de mêmes natures je "plie" la base
Excel à l'aide des flèches de filtres automatiques.

Dans le même esprit j'utilise des menus déroulants. Dans ce cas, je
crée en colonne A un test (un bête si.) qui génère une croix dans
chaque enregistrement qui contient la même information que celle
choisie via le menu déroulant. A l'aide de la flèche de filtre je
suis donc en mesure de plier la table selon l'option qui a été
choisie dans le menu déroulant.

Jusque là tout va très bien.

Je souhaiterais cependant pouvoir rendre le filtre dynamique. Par là
je veux dire que le tableau se plie automatiquement et instantanément
au gré des choix. En effet, à l'heure actuelle si le tableau est
plié (en ayant sélectionné le "x" généré dans la colonne A) si je
change le choix via le menu déroulant, les "x" se mettent bien à jour
au niveau de chaque enregistrement, mais le filtre lui reste statique :
le tableau reste plié la même chose. Je suis obligé de déplier
manuellement la table et de la replier une nouvelle fois pour que le
filtre reconnaisse le fait que les "x" ont changé de place.

A tout hasard si quelqu'un aurait une solution ? Un grand merci
d'avance, - Croy






Avatar
Croy
Bonjour Ben,

Je ne serai pas en mesure de tester vos propositions aujourd'hui, je
vous donnerai un feed-back la semaine prochaine.

Un grand merci de vous être penché sur ce problème et pour vos
multiples pistes.

Croy
Avatar
Croy
Salut DarthMac,

Je te rassure en ce qui me concerne je n'ai rien compris non plus à ta
question.

On est fait pour s'entendre dis donc ;-) - Croy