Date comme variable
bonjour
comment utiliser des date comme variable
varDate ="14/09/2017"
cette ligne fonctionne
WHERE (point.Date_Saisie>={ts '2017-09-07 00:00:00'} And point.Date_Saisie<={ts'2017-09-14 00:00:00'})")
j'ai essayé
WHERE (point.Date_Saisie>={ts '2017-09-07 00:00:00'} And point.Date_Saisie<= '" & varDate & " 00:00:00'})
mais cela ne fonctionne pas , je souhaite récupérer des date sur des cellule et ensuite les utiliser
merci d'avance
Bonjour,
Tu peux bien évidemment affecter une date à une variable...
Après ! la façon dont tu t'y prends mérite discussion : tu n'affectes pas une date, mais une chaîne (soit du texte !) susceptible de représenter une date...
Quant au code qui suit, outre que je ne connais pas WHERE comme mot-clé de Visual Basic, la syntaxe me paraît plutôt douteuse, et je serais curieux d'en connaître le résultat à l'exécution !
Récupérer des dates dans des cellules : rien de plus simple, tu affectes la valeur de la cellule à une variable. S'agissant d'une date, je conseillerais d'utiliser la propriété Value2 de l'objet Range, qui te garantit sa récupération à la valeur numérique sous laquelle les dates sont stockées... Mais il faudrait savoir ensuite ce que tu veux en faire...
Cordialement.
bon mon code fonctionne le seul probleme
Sub Macro5()
efface = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Feuil1").Range("A1:h" & efface).ClearContents
datedeb = "05/09/2017"
datedebut= Format(datedeb , "yyyy-mm-dd")
datefin = "15/09/2017"
datedefin = Format(datefin , "yyyy-mm-dd")
' Macro5 Macro
vardate = datedebut & " 00:00:00"
vardate2 = datedefin & " 00:00:00"
'
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=G:\Nouveau dossier (4)\bddd.accdb;DefaultDir=G:\Nouveau dossier (4);DriverId=25;FIL=MS Access;MaxBuf" _
), Array("ferSize=2048;PageTimeout=5;")), Destination:=Range("$A$1")). _
QueryTable
.CommandText = _
"SELECT point.ID, point.DO_Piece, point.RP_Code, point.AR_ref, point.Date_Saisie, point.DL_Qte, point.Initiales" & Chr(13) & "" & Chr(10) & _
"FROM `G:\Nouveau dossier (4)\bddd.accdb`.point point" & Chr(13) & "" & Chr(10) & "WHERE (point.Date_Saisie>={ts '" & vardate & "'}) AND (point.Date_Saisie<={ts '" & vardate2 & "'})"
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = _
"Tableau_Lancer_la_requête_à_partir_de_MS_Access_Database"
.Refresh BackgroundQuery:=False
End With
End Sub
c'est que je n'ai pas le 15/09/2017 dans mon filtre
ou comme cela
"WHERE point.Date_Saisie BETWEEN #" & vardate & "# and #" & vardate2 & "#"
mais je suis obligé de passer la vardate2 a 16 pour avoir les dates du 15