OVH Cloud OVH Cloud

Afficher un Filtre Automatique

11 réponses
Avatar
Gaston
Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"), "mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
Gaston

10 réponses

1 2
Avatar
Gaston
"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"), "mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui filtre,

J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas plus
Gaston


Avatar
Daniel
Bonsoir.
Quel est le format réel de tes dates ?
Daniel
"Gaston" a écrit dans le message de news:



"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"),
"mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui

filtre,
J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas
plus
Gaston




Avatar
Gaston
Exemple le format est 10-11-06 avec des tirets et avec la mise en forme de
Excel *14-03-01. Le format en VBA est: "mmm/dd/yyyy"

Gaston
"Daniel" wrote:

Bonsoir.
Quel est le format réel de tes dates ?
Daniel
"Gaston" a écrit dans le message de news:



"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"),
"mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui

filtre,
J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas
plus
Gaston









Avatar
Daniel
Quelle date y a-t-il en A1 ?

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

Exemple le format est 10-11-06 avec des tirets et avec la mise en forme de
Excel *14-03-01. Le format en VBA est: "mmm/dd/yyyy"

Gaston
"Daniel" wrote:

Bonsoir.
Quel est le format réel de tes dates ?
Daniel
"Gaston" a écrit dans le message de news:



"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"),
"mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui

filtre,
J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas
plus
Gaston











Avatar
Gaston
En A1, c'est l'entête de la colonne "Date"

Gaston

"Daniel" wrote:

Quelle date y a-t-il en A1 ?

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

Exemple le format est 10-11-06 avec des tirets et avec la mise en forme de
Excel *14-03-01. Le format en VBA est: "mmm/dd/yyyy"

Gaston
"Daniel" wrote:

Bonsoir.
Quel est le format réel de tes dates ?
Daniel
"Gaston" a écrit dans le message de news:



"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"),
"mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui

filtre,
J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas
plus
Gaston
















Avatar
Gaston
Erreur: Ma sub devrait se lire:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=1, Criteria1:=Format(Range("A12"),
"mm/dd/yyyy")
End Sub
Dans A1 c'est l'entête de colonne et dans A12 c'est la Date





Merci
Gaston
"Gaston" wrote:

En A1, c'est l'entête de la colonne "Date"

Gaston

"Daniel" wrote:

Quelle date y a-t-il en A1 ?

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

Exemple le format est 10-11-06 avec des tirets et avec la mise en forme de
Excel *14-03-01. Le format en VBA est: "mmm/dd/yyyy"

Gaston
"Daniel" wrote:

Bonsoir.
Quel est le format réel de tes dates ?
Daniel
"Gaston" a écrit dans le message de news:



"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"),
"mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui

filtre,
J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas
plus
Gaston


















Avatar
MichDenis
Un petit exemple sur une façon de faire :

Un filtre sur la colonne A ....


'-----------------------
Sub filtreDate()

Dim Ddebut As Date
Dim DFin As Date
'En supposant que A2 soit une cellule
'ayant une date reconnu par excel
Ddebut = Range("A2") - 1 'le critère
DFin = Range("A2") + 1

With Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">" & Ddebut * 1, _
Operator:=xlAnd, Criteria2:="<" & DFin * 1
End With

End Sub
'-----------------------



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

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"), "mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
Gaston
Avatar
Gaston
Oui, MichDenis ça fonctionne
Je vais analyser ça pour bien comprendre.
Merci beaucoup

Gaston

"Daniel" wrote:

Quelle date y a-t-il en A1 ?

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

Exemple le format est 10-11-06 avec des tirets et avec la mise en forme de
Excel *14-03-01. Le format en VBA est: "mmm/dd/yyyy"

Gaston
"Daniel" wrote:

Bonsoir.
Quel est le format réel de tes dates ?
Daniel
"Gaston" a écrit dans le message de news:



"Gaston" wrote:

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"),
"mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
On dirait que le problème est dans le format pour écrire la date qui

filtre,
J'ai essayé avec le tiret et la barre oblique mais ça ne s'affiche pas
plus
Gaston
















Avatar
Gaston
Bonjour,
Il y a encore un petit pb;
C'est lorsqu'on veut seulement filtrer une date...
J'ai transformé la macro mais sans bon résultat
Sub filtreDate()

Dim Ddebut As Date
'En supposant que A2 soit une cellule
'ayant une date reconnu par excel
Ddebut = Range("A2") 'le critère

With Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:= Ddebut * 1
End With

End Sub
Ça ne filtre pas
Merci encore
Gaston

"MichDenis" wrote:

Un petit exemple sur une façon de faire :

Un filtre sur la colonne A ....


'-----------------------
Sub filtreDate()

Dim Ddebut As Date
Dim DFin As Date
'En supposant que A2 soit une cellule
'ayant une date reconnu par excel
Ddebut = Range("A2") - 1 'le critère
DFin = Range("A2") + 1

With Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">" & Ddebut * 1, _
Operator:=xlAnd, Criteria2:="<" & DFin * 1
End With

End Sub
'-----------------------



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

Bonjour tout le monde,
Je fais un filtre automatique par VBA, mais il ne s'affiche pas, il ne
s'affiche pas de ligne.
Admettons une macro comme ceci:
Sub filtreDate()
Range("A1").Select
Selection.AutoFilter Field:=5, Criteria1:=Format(Range("A1"), "mm/dd/yyyy")
End Sub
Il ne s'affiche aucune ligne
Merci à l'avance pour vos précieux conseil
Gaston





Avatar
MichDenis
| C'est lorsqu'on veut seulement filtrer une date...
| J'ai transformé la macro mais sans bon résultat

L'exemple que je t'ai donnée servait justement ce but.

As-tu remarqué que le critère augumentait de 1 et diminuait
de 1 de la date que tu choisis.

Observe attentivement :

Dim Ddebut As Date
Dim DFin As Date
'En supposant que A2 soit une cellule
'ayant une date reconnu par excel
Ddebut = Range("A2") - 1 'le critère
DFin = Range("A2") + 1

Le critère est en A2 , si je diminue de 1 la date de début
et augmente de 1 la date de fin, je vais obtenir seulement
les enregistrement correspondant à la date A2

Pourquoi ça ? Parce qu'avec les opérateurs > ou >= ou
< ou <= , excel transforme la valeur de la date que tu passes
comme critère en valeur numérique (ce qu'est en fait une date
pour excel. De ce fait, il n'a aucun problème à identifier les
cellules qui correspondent aux critères.

Lorsque tu utilises l'opérateur " = " , Excel considère la date du
critère comme un "String" (du texte) au lieu de considérer la
date comme une valeur numérique. (ça c'est ce que tu trouves
comme explication dans les bouquins sérieux (version anglaise)
Beaucoup de ces bouquins sont traduits en français... mais je
suppute les auteurs de ne pas avoir testé leur propos avec une
version française.

La réalité, c'est que c'est possible d'utiliser la date tel qu'il propose "
comme critère... mais il y a plusieurs cas particulier et cela serait
trop long à expliquer en ce lieu. C'est ce pourquoi je t'ai proposé
cette solution de rechange. Le fichier exemple existe, je l'ai créé
il y a un certain temps... mais faudrait que je prenne le temps de
le commenter... peut être un jour !

Une autre alternative serait d'utiliser par exemple, le filtre élaboré qui
ne cause aucun problème.
1 2