OVH Cloud OVH Cloud

Filtre avec des valeurs nommées en VBA

6 réponses
Avatar
Bruno RCSC
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro), j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">=10-oct-05", Operator:=xlAnd
_, Criteria2:="<=20-nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.

6 réponses

Avatar
ChrisV
Bonjour Bruno,

Non-testée, mais avec quelque chose du genre...
Selection.AutoFilter Field:=5, Criteria1:=">="date1, Operator:=xlAnd
_, Criteria2:="<="date2


ChrisV


"Bruno RCSC" a écrit dans le message de news:
435e94cd$0$1738$
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro), j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">-oct-05",
Operator:=xlAnd _, Criteria2:="< -nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.




Avatar
michdenis
Bonjour Bruno,

3 syntaxes possibles... il y en a d'autres !

Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1="<=" & CLng(date1), Operator:=xlAnd _
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1="<=" & date1 *1, Operator:=xlAnd _
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1="<=" & & Format(date1, "m/d/yy"), _
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")


Salutations!






"Bruno RCSC" a écrit dans le message de news: 435e94cd$0$1738$
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro), j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">-oct-05", Operator:=xlAnd
_, Criteria2:="< -nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.
Avatar
michdenis
Désolé...

Lors du copier-coller, j'ai omis de modifier les opérateurs

Pour le premier critère, l'opérateur devrait être :
<= --> >

Salutations!


"michdenis" a écrit dans le message de news: %
Bonjour Bruno,

3 syntaxes possibles... il y en a d'autres !

Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1="<=" & CLng(date1), Operator:=xlAnd _
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1="<=" & date1 *1, Operator:=xlAnd _
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1="<=" & & Format(date1, "m/d/yy"), _
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")


Salutations!






"Bruno RCSC" a écrit dans le message de news: 435e94cd$0$1738$
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro), j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">-oct-05", Operator:=xlAnd
_, Criteria2:="< -nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.
Avatar
Bruno RCSC
Bonsoir,

Merci pour votre réponse.
Cela fonctionne... presque !
Comment dois je faire pour que les valeurs de date1 et date2 soit celles qui
sont saisies dans les cellules nommées date1 et date2 de la feuille.
Dans la réponse proposée, les dates sont fixes. Or, je voudrais que
l'utilisateur filtre son tableau entre des dates qu'il choisira.

Merci.


"michdenis" a écrit dans le message de news:
%
Bonjour Bruno,

3 syntaxes possibles... il y en a d'autres !

Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1="<=" & CLng(date1),
Operator:=xlAnd _
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1="<=" & date1 *1, Operator:=xlAnd
_
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1="<=" & & Format(date1, "m/d/yy"),
_
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")


Salutations!






"Bruno RCSC" a écrit dans le message de news:
435e94cd$0$1738$
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro), j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">-oct-05",
Operator:=xlAnd
_, Criteria2:="< -nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.





Avatar
michdenis
Bonjour Bruno,

Un exemple là : http://cjoint.com/?kCqZRPVQ02


Salutations!



"Bruno RCSC" a écrit dans le message de news: 43612f88$0$998$
Bonsoir,

Merci pour votre réponse.
Cela fonctionne... presque !
Comment dois je faire pour que les valeurs de date1 et date2 soit celles qui
sont saisies dans les cellules nommées date1 et date2 de la feuille.
Dans la réponse proposée, les dates sont fixes. Or, je voudrais que
l'utilisateur filtre son tableau entre des dates qu'il choisira.

Merci.


"michdenis" a écrit dans le message de news:
%
Bonjour Bruno,

3 syntaxes possibles... il y en a d'autres !

Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1="<=" & CLng(date1),
Operator:=xlAnd _
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1="<=" & date1 *1, Operator:=xlAnd
_
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1="<=" & & Format(date1, "m/d/yy"),
_
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")


Salutations!






"Bruno RCSC" a écrit dans le message de news:
435e94cd$0$1738$
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro), j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">-oct-05",
Operator:=xlAnd
_, Criteria2:="< -nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.





Avatar
Bruno RCSC
Bravo et merci,

Bruno.


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

Bonjour Bruno,

Un exemple là : http://cjoint.com/?kCqZRPVQ02


Salutations!



"Bruno RCSC" a écrit dans le message de news:
43612f88$0$998$
Bonsoir,

Merci pour votre réponse.
Cela fonctionne... presque !
Comment dois je faire pour que les valeurs de date1 et date2 soit celles
qui
sont saisies dans les cellules nommées date1 et date2 de la feuille.
Dans la réponse proposée, les dates sont fixes. Or, je voudrais que
l'utilisateur filtre son tableau entre des dates qu'il choisira.

Merci.


"michdenis" a écrit dans le message de news:
%
Bonjour Bruno,

3 syntaxes possibles... il y en a d'autres !

Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1="<=" & CLng(date1),
Operator:=xlAnd _
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1="<=" & date1 *1, Operator:=xlAnd
_
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1="<=" & & Format(date1,
"m/d/yy"),
_
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")


Salutations!






"Bruno RCSC" a écrit dans le message de news:
435e94cd$0$1738$
Bonjour,

Win XP, Excel 97.

J'essaie de filtrer un champ date à partir de 2 cellules que j'ai nommé
date1 et date2.

Quand j'utilise l'enregistreur de macro (je ne suis pas un pro),
j'obtiens
la syntaxe suivante qui fonctionne :
Selection.AutoFilter Field:=5, Criteria1:=">-oct-05",
Operator:=xlAnd
_, Criteria2:="< -nov-05"
Je voudrais simplement remplacer la date que l'on saisit dans le filtre
automatique personnalisé par mes deux cellules nommées, j'ai modifié la
ligne en remplaçant les dates par les noms des cellules :
Selection.AutoFilter Field:=5, Criteria1:=">=[date1]", Operator:=xlAnd
_, Criteria2:="<=[date2]"
Et quand je lance la macro, je n'obtiens aucune ligne.
(je précise que j'ai saisi des dates dans les cellules date1 et date2)

Merci pour votre aide.