Problème syntaxe VBA

Résolu
Ramon1 Messages postés 364 Date d'inscription   Statut Membre Dernière intervention   -  
Ramon1 Messages postés 364 Date d'inscription   Statut Membre Dernière intervention   -
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
Configuration: Windows XP édition familiale + SP2 Processeur AMD Athlon(tm) XP 1800+ antivirus avast pare feu zone alarm

4 réponses

  1. pilas31 Messages postés 1878 Statut Contributeur 648
     
    Bonjour,

    La syntaxe est sans doute celle-ci :

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

    A+
    0
    1. Ramon1 Messages postés 364 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  2. Ramon1 Messages postés 364 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  3. pilas31 Messages postés 1878 Statut Contributeur 648
     
    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
  4. Ramon1 Messages postés 364 Date d'inscription   Statut Membre Dernière intervention  
     
    Ton impression était la bonne, c'est bien le problème du format date.
    Après modif çà fonctionne.
    Avec mes remerciements
    0