Bonjour à toutes et tous,
Dans la procédure ci dessous (MS_Query) comment remplacer les nombres 40500 et 41000 par les variables ValDeb pour la première valeur et ValFin pour la seconde valeur ceci afin de lancer la procédure à partir d'un bouton de la feuille de calcul après avoir saisi les valeurs dans les champs "deb" et "fin". J'ai essayé de mettre les variables directement à la place des nombres dans la procédure mais j'ai chaque fois un message d'erreur de syntaxe.
ValDeb = CDbl(Range("deb"))
ValFin = CDbl(Range("Fin"))
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Fichiers Excel;DBQ=E:\Sous-Traitance\Sitia\GMAO\Budget\Facturation\Recap_Couts_Maint.xls;DefaultDir=E:\Sous-Traitance\Sitia" _
), Array( _
"\GMAO\Budget\Facturation;DriverId=790;MaxBufferSize=2048;PageTimeout=5;")), _
Destination:=Range("A1"))
.CommandText = Array( _
"SELECT Histo.Date, Histo.`N°_OT`, Histo.ATL, Histo.C_C, Histo.Type_TRX, Histo.MO_Meca, Histo.Coeff_Meca, Histo.MO_Elect, Histo.Coeff_Elec, Histo.MO_Autre, Histo.Coeff_Autre, Histo.Mont_Tot_Fournit, Hi" _
, _
"sto.Date_Num" & Chr(13) & "" & Chr(10) & "FROM Histo Histo" & Chr(13) & "" & Chr(10) & "WHERE (Histo.Date_Num>=40500 And Histo.Date_Num<=41000)" & Chr(13) & "" & Chr(10) & "ORDER BY Histo.Date_Num, Histo.`N°_OT`")
.Name = "Lancer la requête à partir de Fichiers Excel_2"
.FieldNames = True
.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
Cordialement
Pierre