Problème syntaxe VBA

Résolu/Fermé
Ramon1 Messages postés 333 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 16 juillet 2024 - 4 janv. 2010 à 13:40
Ramon1 Messages postés 333 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 16 juillet 2024 - 4 janv. 2010 à 16:29
Bonjour,

Pouvez me préciser quelle est l'erreur de syntaxe de la macro ci-après avec variable sur une date début (>= à) et une date fin (<= à) :

Range("A2:Q126").Select
Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:=">= & VDEBUT & ", Operator:=xlAnd _
, Criteria2:="<= & <VFIN & "

Merci pour votre réponse

4 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 644
4 janv. 2010 à 14:39
Bonjour,

La syntaxe est sans doute celle-ci :

Selection.AutoFilter Field:=7, Criteria1:=">=" & VDEBUT, Operator:=xlAnd _
, Criteria2:="<=" & VFIN

A+
0
Ramon1 Messages postés 333 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 16 juillet 2024
4 janv. 2010 à 15:04
Merci pour la syntaxe, mais elle semble incomplète.
Lorsque je lance la macro pas à pas en indiquant comme date début (>=) 15/03/2010, et comme date fin (<) 01/06/2010, le système reste sur le menu personnalisé et semble bien prendre la 1ère date correcte mais la 2ème date est modifiée en 06/01/2010 au lieu du 01/06/2010.
Ci-joint la macro intégrale

Sub Mission_1_mois()
'
Dim VDEBUT As String
VDEBUT = InputBox("saisir la date de début de sélection")
If VDEBUT = "" Then Exit Sub
Dim VFIN As String
VFIN = InputBox("saisir la date de fin de sélection")
If VFIN = "" Then Exit Sub

Range("A2").Select
Range("A2:Q126").Select
Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:=">=" & VDEBUT, Operator:=xlAnd _
, Criteria2:="<=" & VFIN
Columns("I:Q").Select
Selection.EntireColumn.Hidden = True
End Sub
0
Ramon1 Messages postés 333 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 16 juillet 2024
4 janv. 2010 à 15:41
Re

Le système, après modification de la syntaxe, prend bien en compte la valeur de chaque variable mais ne semble pas prendre en compte les 2 critères >= et <=
As tu une solution
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 644
4 janv. 2010 à 15:45
Re Bonjour,

J'ai l'impression qu'il s'agit d'un problème de format de date. Dans la conversion de la chaine en date il inverse les mois et les jours. Donc si on lui indique le format de date c'est ok :

Selection.AutoFilter Field:=7, Criteria1:=">=" & Format(VDEBUT, "mm/dd/yyyy"), Operator:=xlAnd _
, Criteria2:="<=" & Format(VFIN, "mm/dd/yyyy")

A+
0
Ramon1 Messages postés 333 Date d'inscription samedi 1 octobre 2005 Statut Membre Dernière intervention 16 juillet 2024
4 janv. 2010 à 16:29
Ton impression était la bonne, c'est bien le problème du format date.
Après modif çà fonctionne.
Avec mes remerciements
0