OVH Cloud OVH Cloud

Critére de filtre

4 réponses
Avatar
Crel
Bonjour, je désire créer un critère de filtre par année j'ai une cellule G1
dans laquelle, je saisis 2003, je cale avec l'enregistreur de macros

Selection.AutoFilter Field:=1, Criteria1:= ?
Merci beaucoup Patrick

4 réponses

Avatar
Denis Michon
Bonjour Crel,

Criteria1:= ?

Pour définir un criteria1 : tu dois indiquer une adresse de cellules où tu as identifier le critère :

A )
si dans la colonne où s'effectue le filtre élaboré, c'est seulement l'année qui est inscrit : exemple 2003

En G1 = tu inscris le nom du champ tel que
défini dans ta table des données : Année
en G2 = la valeur du critère : 2003


B ) Si ta colonne contient des dates au lieu de seulement l'année

En G1 , tu donnes tu crées un nom de champ qui n'existe pas dans la table des données, ou tu peux laisser la cellule
vide si tu le désires

et En G2 , le critère suivant : =ANNEE(A2) 03

En prenant pour acquis que A2 est la première cellule de la colonne de ton champ qui contient les données (excluant
l'étiquette du champ)

En résumé :

G1 : Une année
G2 : =ANNEE(A2) 03


Salutations!








"Crel" a écrit dans le message de news:
Bonjour, je désire créer un critère de filtre par année j'ai une cellule G1
dans laquelle, je saisis 2003, je cale avec l'enregistreur de macros

Selection.AutoFilter Field:=1, Criteria1:= ?
Merci beaucoup Patrick
Avatar
Crel
Bobsoir Denis,
en fait la colonne dans laquelle il y a les dates est du format suivant :
jj/mm/aa
Merci beaucoup
Patrick

"Denis Michon" a écrit dans le message de news:
RFwsb.28802$
Bonjour Crel,

Criteria1:= ?

Pour définir un criteria1 : tu dois indiquer une adresse de cellules où tu
as identifier le critère :


A )
si dans la colonne où s'effectue le filtre élaboré, c'est seulement
l'année qui est inscrit : exemple 2003


En G1 = tu inscris le nom du champ tel que
défini dans ta table des données : Année
en G2 = la valeur du critère : 2003


B ) Si ta colonne contient des dates au lieu de seulement l'année

En G1 , tu donnes tu crées un nom de champ qui n'existe pas dans la table
des données, ou tu peux laisser la cellule

vide si tu le désires

et En G2 , le critère suivant : =ANNEE(A2) 03

En prenant pour acquis que A2 est la première cellule de la colonne de ton
champ qui contient les données (excluant

l'étiquette du champ)

En résumé :

G1 : Une année
G2 : =ANNEE(A2) 03


Salutations!








"Crel" a écrit dans le message de
news:

Bonjour, je désire créer un critère de filtre par année j'ai une cellule
G1

dans laquelle, je saisis 2003, je cale avec l'enregistreur de macros

Selection.AutoFilter Field:=1, Criteria1:= ?
Merci beaucoup Patrick






Avatar
Denis Michon
Bonjour Crel,

Le format lui-même n'est pas important , en autant qu'excel perçoit le contenu des cellules comme étant des dates.

Si tu parles toujours de filtre élaboré, le critère est une plage de données, où il y a l'étiquette de la colonne qui
est repris dans la zone du critère + le critère lui-même. Comme la colonne sur lequel s'effectue le filtre élaboré
représente des dates, tu vas devoir avoir recours à une petite formule. Et, lorsque l'on utilise une formule, on doit
absolument éviter de reproduire l'étiquette de la colonne de la table des données dans la zone de critères.

Zone de critère :

G1 : Vide ou un étiquette différent du nom des champs de ta table de données.
G2 : =ANNEE(A2) 03

AutoFilter Field:=1, Criteria1:= ?

Le field = 1 , le 1 représente la colonne de la base de données. Est-ce que tes dates sont dans la premières colonnes
de ta base de données, Si non, il faut adapter...

Criteria1 = Range("G1:G2")

Une façon d'écrire la macro en adaptant le nom de la feuille et de la plage de cellules...

Private Sub CommandButton2_Click()

Dim Rg As Range
With Worksheets("Feuil2")
With .Range("A1").CurrentRegion
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("G1:G2")
End With
End With

End Sub


Salutations!




"Crel" a écrit dans le message de news:
Bobsoir Denis,
en fait la colonne dans laquelle il y a les dates est du format suivant :
jj/mm/aa
Merci beaucoup
Patrick

"Denis Michon" a écrit dans le message de news:
RFwsb.28802$
Bonjour Crel,

Criteria1:= ?

Pour définir un criteria1 : tu dois indiquer une adresse de cellules où tu
as identifier le critère :


A )
si dans la colonne où s'effectue le filtre élaboré, c'est seulement
l'année qui est inscrit : exemple 2003


En G1 = tu inscris le nom du champ tel que
défini dans ta table des données : Année
en G2 = la valeur du critère : 2003


B ) Si ta colonne contient des dates au lieu de seulement l'année

En G1 , tu donnes tu crées un nom de champ qui n'existe pas dans la table
des données, ou tu peux laisser la cellule

vide si tu le désires

et En G2 , le critère suivant : =ANNEE(A2) 03

En prenant pour acquis que A2 est la première cellule de la colonne de ton
champ qui contient les données (excluant

l'étiquette du champ)

En résumé :

G1 : Une année
G2 : =ANNEE(A2) 03


Salutations!








"Crel" a écrit dans le message de
news:

Bonjour, je désire créer un critère de filtre par année j'ai une cellule
G1

dans laquelle, je saisis 2003, je cale avec l'enregistreur de macros

Selection.AutoFilter Field:=1, Criteria1:= ?
Merci beaucoup Patrick






Avatar
Crel
Merci beaucoup Denis, cela marche super
Patrick

"Denis Michon" a écrit dans le message de news:
iOxsb.28810$
Bonjour Crel,

Le format lui-même n'est pas important , en autant qu'excel perçoit le
contenu des cellules comme étant des dates.


Si tu parles toujours de filtre élaboré, le critère est une plage de
données, où il y a l'étiquette de la colonne qui

est repris dans la zone du critère + le critère lui-même. Comme la colonne
sur lequel s'effectue le filtre élaboré

représente des dates, tu vas devoir avoir recours à une petite formule.
Et, lorsque l'on utilise une formule, on doit

absolument éviter de reproduire l'étiquette de la colonne de la table des
données dans la zone de critères.


Zone de critère :

G1 : Vide ou un étiquette différent du nom des champs de ta table de
données.

G2 : =ANNEE(A2) 03

AutoFilter Field:=1, Criteria1:= ?

Le field = 1 , le 1 représente la colonne de la base de données. Est-ce
que tes dates sont dans la premières colonnes

de ta base de données, Si non, il faut adapter...

Criteria1 = Range("G1:G2")

Une façon d'écrire la macro en adaptant le nom de la feuille et de la
plage de cellules...


Private Sub CommandButton2_Click()

Dim Rg As Range
With Worksheets("Feuil2")
With .Range("A1").CurrentRegion
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("G1:G2")
End With
End With

End Sub


Salutations!




"Crel" a écrit dans le message de
news:

Bobsoir Denis,
en fait la colonne dans laquelle il y a les dates est du format suivant :
jj/mm/aa
Merci beaucoup
Patrick

"Denis Michon" a écrit dans le message de news:
RFwsb.28802$
Bonjour Crel,

Criteria1:= ?

Pour définir un criteria1 : tu dois indiquer une adresse de cellules où
tu


as identifier le critère :

A )
si dans la colonne où s'effectue le filtre élaboré, c'est seulement
l'année qui est inscrit : exemple 2003


En G1 = tu inscris le nom du champ tel que
défini dans ta table des données : Année
en G2 = la valeur du critère : 2003


B ) Si ta colonne contient des dates au lieu de seulement l'année

En G1 , tu donnes tu crées un nom de champ qui n'existe pas dans la
table


des données, ou tu peux laisser la cellule
vide si tu le désires

et En G2 , le critère suivant : =ANNEE(A2) 03

En prenant pour acquis que A2 est la première cellule de la colonne de
ton


champ qui contient les données (excluant
l'étiquette du champ)

En résumé :

G1 : Une année
G2 : =ANNEE(A2) 03


Salutations!








"Crel" a écrit dans le message de
news:

Bonjour, je désire créer un critère de filtre par année j'ai une cellule
G1

dans laquelle, je saisis 2003, je cale avec l'enregistreur de macros

Selection.AutoFilter Field:=1, Criteria1:= ?
Merci beaucoup Patrick