Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Filtre avec variable

arma

XLDnaute Nouveau
Bonjour à tous,

Je suis en train de me faire plaisir (à mon humble niveau) en créant une commande guidant pas à pas l’utilisateur dans la création d’un suivi de CA. Grâce à ce site notamment, j’ai surmonté la plupart des écueils sauf le dernier bien entendu : comment créer un filtre (en VBA) intégrant une variable ?
En l’occurrence, si j’ai dans ma commande:

Selection.AutoFilter Field:=1, Criteria1:=">=janv-2009", Operator:=xlAnd _
, Criteria2:="<=mars-2009"

Comment faire pour que "<=mars-2009" soit défini à l’aide d’une variable (« y » dans mon cas) ?
La variable « y » est déjà définie par un If …ElseIf précédemment mais même en modifiant le format ou la valeur, je n’arrive à rien de concluant.
Merci pour votre aide car je sèche sévèrement à un poil de la réussite.
 

Catrice

XLDnaute Barbatruc
Re : Filtre avec variable

Bonjour,

Il faut que y soit un format date ou un N° de série date (par ex aujourd'hui = 39952)
Le mars-2009 récupéré par macro ne fontionnera pas tel quel.

donc :

y=39952
Selection.AutoFilter Field:=1, Criteria1:=">=janv-2009", Operator:=xlAnd , Criteria2:="<=" & y

ou bien y = #1/3/2009#
Inférieur à Mars 2009 doit normalement correspondre à <#1/3/2009#

Macro =>
Sub Test()
y = Format(DateSerial(2009, 3, 1), "mm/dd/yyyy")
'ou
'y = #1/3/2009#
'ou
'y = 39873
Range("A1").AutoFilter Field:=1, Criteria1:="<" & y
End Sub

Si c'est une cellule, tu peux faire =>
y=range("A1").Value2
Range("A1").AutoFilter Field:=1, Criteria1:="<" & y


Peux tu préciser comment est calculé y ?

Voir le fichier joint
 

Pièces jointes

  • Classeur1.xls
    24 KB · Affichages: 56
  • Classeur1.xls
    24 KB · Affichages: 58
  • Classeur1.xls
    24 KB · Affichages: 57
Dernière édition:

arma

XLDnaute Nouveau
Re : Filtre avec variable

Merci beaucoup pour cette réponse. La mienne a été plus lente car il a fallu que je comprenne et transforme ton aide à mon besoin.
Effectivement, mon "y" était mal défini car s'il reprenait l'idée d'un format Date, je passerai sur la façon dont je m'y suis pris C'était assez loin de ta solution...
Encore merci car cela m'a permis de clore un gros boulot visant à rendre mes collègues un peu plus fainéant sur cette appli
(Donc merci de leur part également)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…