Variable dans filtre where

bonjour

voila comment utiliser une variable pour modifier dans where

je m'explique

choixx est different a la demande , donc cela peut etre un filtre jour, mois, seamine etc..

Sub export()

ActiveSheet.Columns("D:D").Select
    Selection.NumberFormat = "dd/mm/yyyy"
choixx = "Month(Date_Saisie) = '6'"
'
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DSN=MS Access Database;DBQ=C:\Users\geraldine\Documents\controleso.mdb;DefaultDir=C:\Users\geraldine\Documents;DriverId=25;FIL=" _
        ), Array("MS Access;MaxBufferSize=2048;PageTimeout=5;")), _
Destination:=Range("$A$1")).QueryTable
        '.CommandType = 0
        .CommandText = Array( _
        "SELECT Listes.DO_Piece, Listes.RP_Code, Listes.AR_ref, Listes.Date_Saisie, Listes.DL_Qte, Listes.Initiales" & Chr(13) & "" & Chr(10) & "FROM `C:\Users\geraldine\Documents\controleso.mdb`.Listes Listes" & Chr(13) & "" & Chr(10) & "WHERE (Listes.RP_Code='021" _
        , "COFEMBA') AND (Listes.Initiales='SOFC0105') AND choixx ")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True

        .Refresh BackgroundQuery:=False
    End With
End Sub

merdi d'avance

bonjour,

essaie ceci

"SELECT Listes.DO_Piece, Listes.RP_Code, Listes.AR_ref, Listes.Date_Saisie, Listes.DL_Qte, Listes.Initiales" & Chr(13) & "" & Chr(10) & "FROM `C:\Users\geraldine\Documents\controleso.mdb`.Listes Listes" & Chr(13) & "" & Chr(10) & "WHERE (Listes.RP_Code='021" _
        , "COFEMBA') AND (Listes.Initiales='SOFC0105') AND " & choixx )

j'ai une erreur de syntaxe

Sub Macro5()
Cells.Select
Selection.Clear
choixx = "Listes.Initiales='SOFC0105'"
 With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DSN=MS Access Database;DBQ=C:\Users\geraldine\Documents\controleso.mdb;DefaultDir=C:\Users\geraldine\Documents;DriverId=25;FIL=" _
        ), Array("MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:=Range("$A$1")).QueryTable
        .CommandText = "SELECT Listes.DO_Piece, Listes.RP_Code, Listes.AR_ref, Listes.Date_Saisie, Listes.DL_Qte, Listes.Initiales" & Chr(13) & "" & Chr(10) & "FROM `C:\Users\geraldine\Documents\controleso.mdb`.Listes Listes" & Chr(13) & "" & Chr(10) & "WHERE (Listes.RP_Code='021COFEMBA')  AND  & choixx )"
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True

        .Refresh BackgroundQuery:=False
    End With
    ActiveSheet.Columns("D:D").Select
    Selection.NumberFormat = "dd/mm/yyyy"
End Sub

je poste ma macro

.CommandText =  _
        "SELECT Listes.DO_Piece, Listes.RP_Code, Listes.AR_ref, Listes.Date_Saisie, Listes.DL_Qte, Listes.Initiales" & Chr(13) & "" & Chr(10) & "FROM `C:\Users\geraldine\Documents\controleso.mdb`.Listes Listes" & Chr(13) & "" & Chr(10) & "WHERE (Listes.RP_Code='021" _
        , "COFEMBA') AND (Listes.Initiales='SOFC0105') AND " &  choixx 

merci je vais pouvoir avancer maintenant avec mes dates du moins j 'espère

Rechercher des sujets similaires à "variable filtre where"