OVH Cloud OVH Cloud

Réglage des critères d’un filtre élaboré

30 réponses
Avatar
Apitos
Bonjour =E0 tous,

J'aimerais appliquer un filtre =E9labor=E9 multicrit=E8res, mais j'ai un so=
uci quand au r=E9glage des crit=E8res de ce filtre.

Les crit=E8res sont :

- La date :=20
J=92utilise parfois l'=E9galit=E9 pour une date pr=E9cise (Ex: =3D15/06/201=
2)

Parfois une fourchette de date (Ex : Entre le 15/06/2012 et le 20/06/2012)

- Le nom de la machine

- La dur=E9e de l'arr=EAt de la machine :=20

Ex :=20
=3D 1 heure
> 2 heure et 30 mn
< 1 journ=E9e
>=3D 5 heure
<=3D 10 heures

- La cause

Alors comment organiser ces d=E9f=E9rents crit=E8res dans le premier qui "L=
a date" et dans le troisi=E8me qui est "La dur=E9e"

Merci d'avance.

http://cjoint.com/?BGhpZQUy4ZH

10 réponses

1 2 3
Avatar
Jacquouille
Bonjour Denis
Content de ton retour ...
Un grand néophyte peut-il avoir l'outrecuidance de poser une question au
Grand Maitre?
Dans ton explication sur le filtre élaboré, à la ligne "OU", ne faut-il pas
lire > critère 1 sur la ligne 2 et critère 2 sur la ligne 3 ?
Si je magourré, pardonne-mon impertinence. -))
Bien à toi

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jtpb3c$6uj$

Bonjour,

Je t'ai répondu à partir d'un autre site et j'ai commis un fichier exemple :
http://cjoint.com/?BGnqrsm1ToX

Si tu veux simplement un critère à partir d'une formule... dis-le?

Dans le tableau de critère que j'ai fait, si tu veux pouvoir faire une
recherche
pour un écart de date, dans la plage de critère (étiquette), tu as besoin de
répéter
à au moins 2 reprises l'étiquette du champ.
Dans la zone de critère, tu as au moins le nom du champ répété 2 fois :

NomDuChampDate NomDuChampDate <<<<<--- Ligne d'étiquette
=UneDate <=UneAutreDate <<<<<---- Critère





MichD
---------------------------------------------------------------
Avatar
MichD
Effectivement Jacquouille,

Le ET dans le critère s'exprime en utilisant la première ligne sous la ligne d'étiquette
de la plage de critère
Le OU dans le critère s'exprime en utilisant une ligne par condition en débutant
immédiatement en-dessous
de la ligne d'étiquette.
Condition 1 dans le champ de l'étiquette appropriée - Ligne immédiatement sous la ligne
d'étiquette.
Condition 2 , dans le champ approprié sur la ligne suivante de la ligne de la condition 1
ainsi de suite si d'autres commentaires.

En utilisant la même approche, on peut aussi combiner un ET entre 2 conditions + un OU
pour une autre condition



MichD
---------------------------------------------------------------
Avatar
Jacquouille
Re merci pour tes excellentes explications.
Si j'avais eu un prof aussi compétent que toi, je crois que je serais un peu
moins ......

Mais, que sont devenus les SI OU , alors que tu parles des ET OU . -))))))
Bonne soirée
Jacques.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jtplfk$2si$

Effectivement Jacquouille,

En utilisant la même approche, on peut aussi combiner un ET entre 2
conditions + un OU
pour une autre condition



MichD
---------------------------------------------------------------
Avatar
Apitos
Bonsoir Isabelle, MichD,Jaquouille

Si tu veux simplement un critère à partir d&#39;une formule... dis-le ?



J'aimerais bien développer l'autre idée sur le même site qui repose s ur l'utilisation d'un filtre élaboré avec des critères en formules.

L'application devra être plus simple à manipuler avec le personnel du s ervice.

Donc j'ai pensé à utiliser des boutons sur la feuille avec un USF pour faciliter la tache pour extraire déférents états ou rapport soir jour nalier, hebdomadaire, mensuel ou annuel en plus des rapport par nom, date1, date1 et date2, durée ou cause.

Voila le but général de cette application.

Merci d'avance.
Avatar
MichD
'------------------------
Donc j'ai pensé à utiliser des boutons sur la feuille avec un USF pour faciliter la tache
pour extraire déférents états ou rapport soir journalier, hebdomadaire, mensuel ou annuel
en plus des rapport par nom, date1, date1 et date2, durée ou cause.
'------------------------

En théorie, ça va! Mais penses-tu mettre autant de boutons sur un formulaire qu'il y a de
possibilités
de créer des formules pour un filtre avancé. Il s'agit de trouver une manière simple de
renseigner
les critères du filtre au lieu de demander de créer la formule. D'une façon ou l'autre,
l'usager devra
comprendre ce qu'il fait et avoir quelques notions sur le sujet!



MichD
---------------------------------------------------------------
Avatar
Apitos
Bonsoir Denis,

En théorie, ça va! Mais penses-tu mettre autant de boutons sur un for mulaire qu'il y a de possibilités de créer des formules pour un filtre avancé.



Non, ça compliquera les choses dans ce cas !

Il s'agit de trouver une manière simple de renseigner les critères du filtre au lieu de demander de créer la formule.



Donc, que me suggéres-tu pour commencer ?

D'une façon ou l'autre, l'usager devra comprendre ce qu'il fait et avoir quelques notions sur le sujet!



Bien sûr :)

Merci d'avance.
Avatar
MichD
| Donc, que me suggéres-tu pour commencer ?

Je t'ai déjà transmis un fichier sur le sujet. http://cjoint.com/?BGslB5LCP1V
Selon moi, c'est le plus général et le plus simple. Dans la zone de critère, tu peux
insérer seulement les champs requis pour les filtres.

L'usager n'a pas à écrire de formules, il n'a qu'à saisir les critères dans le champ
approprié.
Mais la question demeure, combien de filtres différents as-tu besoin? Sur quel champ du
tableau?
Quand tout est créé, souvent le résultat est le manque de flexibilité...
Avatar
Apitos
Bonsoir Denis,

Je t'ai déjà transmis un fichier sur le sujet. http://cjoint.com/?BG slB5LCP1V



Je l'ai testé, mais pour la durée jÂ’ai un souci ; Quelque soit la val eur inscrite, le filtre ne marche plus !

Exemple (Durée > 15) :

=>Lister toutes les pannes de l'année qui ont marquées un arrêt plu s de 15 minutes

Ca ne donne rien sur des données au format : jj "jour" hh"h":mm"mn"

Je crois quÂ’il faut les transformer la durée en minute avant dÂ’appliq uer le filtre, comme lÂ’a suggéré notre ami Jaquouille.

Il est de même pour les dates au format : jj/mm/aaaa hh:mm

Selon moi, c'est le plus général et le plus simple. Dans la zone de c ritère, tu peux insérer seulement les champs requis pour les filtres.



Y a-t-il une solution pour écrire des dates sous format français au lie u du format américain ?

L'usager n'a pas à écrire de formules, il n'a qu'à saisir les crit ères dans le champ approprié.



Il y a un cas ou chaque mercredi, je devrais filtrer les données de la se maine précédente (Allant de mercredi passé jusqu'à mardi d'hier)

Exemple :

Mercredi prochain sera le 25/07/2012

Alors dans la matinée de ce jour, je devrais extraire les données avec impression de la semaine précédente allant du 18/07/2012 au 24/07/2012

Comment traiter ce cas ?

Mais la question demeure, combien de filtres différents as-tu besoin? S ur quel champ du tableau?



Les champs concernés par le filtre sont :

Nom de la machine; Nature; Date arrêt 1; Date arrêt 2; Durée en minut e; Cause

Quand tout est créé, souvent le résultat est le manque de flexibili té...



Ca viendra avec la pratique :)

Merci d'avance.
Avatar
Apitos
Bonsoir à tous,

Quelqu'un peut-il me dire si ce fichier fonctionne chez lui et donne un r ésultat ?

Parce que chez moi, le résultat du filtre est toujours nulle.

http://cjoint.com/?BGwtb4bokWX

Merci.
Avatar
Apitos
Bonjour,

Le problème du résultat du filtre avancé dans Excel 2007 a été r ésolu

Il s'est avéré que le problème résidait dans le remplacement de la virgule par le point dans la cellule G2 du critère Dn (Durée en numér ique) :


'--------------------------------------------
'-- Avec durée d'arrêt
Set Crit = .Range("G1:G2")
Crit(2).Value = Replace(Crit(2).Value, ",", ".")
'--------------------------------------------

Macro EssaiFiltreArret :


'---------------------------------------------
Sub EssaiFiltre()
Dim Crit As Range
With Sheets("feuil2")
.[E2] = ">= " & .[E9]
.[F2] = "<= " & .[F9]
.[G2] = ">= " & .[G16]
MsgBox "[E2] : " & [E2] & vbCrLf & _
"[F2] : " & [F2] & vbCrLf & _
"[G2] : " & [G2]

'-- Avec date d'arrêt
'Set Crit = .Range("E1:F2")

'-- Avec durée d'arrêt
Set Crit = .Range("G1:G2")
Crit(2).Value = Replace(Crit(2).Value, ",", ".")

'-- Avec date et durée d'arrêt
'Set Crit = .Range("E1:G2")

.Range("A1:D17").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=[Crit], _
CopyToRange:=.Range("J1:L1"), _
Unique:úlse
End With
End Sub
'-------------------------------------------------------------

J'attends quelqu'un m'aide sur l'extraction des données de chaque mercred i ;)

Merci d'avance.
1 2 3