M
ManuAntibes
Guest
Salut à tous
J'ai créé une macro qui réalise une requete avec l'enregistreur de macro sur excel.
Lors de la création de la macro j'ai choisie des dates et diferentes recherches.
Comment les modifier par la suite sans recréé toute la requete.
example1:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 14/10/2004 par MARC
'
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=C:\Projet VB\Gestion du personnel\bd2.mdb;DefaultDir=C:\Projet VB\Gestion du personnel;DriverId=281;" _
), Array("FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:= _
Range("j5"))
.CommandText = Array( _
"SELECT Re_inventaire.DATE_TICKET, Re_inventaire.NUMERO_RAYON, Re_inventaire.CODE_PLU, Re_inventaire.SommeDePOIDS_PIECES" & Chr(13) & "" & Chr(10) & "FROM `C:\Projet VB\Gestion du personnel\bd2`.Re_inventaire Re_inventaire" & Chr(13) & "" & Chr(10) & "WHERE" _
, _
" (Re_inventaire.DATE_TICKET={ts '2004-10-13 00:00:00'}) AND (Re_inventaire.NUMERO_RAYON=5) AND (Re_inventaire.CODE_PLU=1010)" _
)
End With
End Sub
là le code marche
example2:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 14/10/2004 par MARC
'
Dim MeDate as Date
Dim NuRay as Variante
Dim NuCode as Variante
MeDate= range("A1").value
NuRay= range("A2").value
NuCode= range("A3").value
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=C:\Projet VB\Gestion du personnel\bd2.mdb;DefaultDir=C:\Projet VB\Gestion du personnel;DriverId=281;" _
), Array("FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:= _
Range("j5"))
.CommandText = Array( _
"SELECT Re_inventaire.DATE_TICKET, Re_inventaire.NUMERO_RAYON, Re_inventaire.CODE_PLU, Re_inventaire.SommeDePOIDS_PIECES" & Chr(13) & "" & Chr(10) & "FROM `C:\Projet VB\Gestion du personnel\bd2`.Re_inventaire Re_inventaire" & Chr(13) & "" & Chr(10) & "WHERE" _
, _
" (Re_inventaire.DATE_TICKET={ts MeDate}) AND (Re_inventaire.NUMERO_RAYON=NuRay) AND (Re_inventaire.CODE_PLU=NuCode)" _
)
End With
End Sub
là le code ne marche pas
Comment faire pour faire fonctionner le code de l'example2
Merci
J'ai créé une macro qui réalise une requete avec l'enregistreur de macro sur excel.
Lors de la création de la macro j'ai choisie des dates et diferentes recherches.
Comment les modifier par la suite sans recréé toute la requete.
example1:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 14/10/2004 par MARC
'
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=C:\Projet VB\Gestion du personnel\bd2.mdb;DefaultDir=C:\Projet VB\Gestion du personnel;DriverId=281;" _
), Array("FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:= _
Range("j5"))
.CommandText = Array( _
"SELECT Re_inventaire.DATE_TICKET, Re_inventaire.NUMERO_RAYON, Re_inventaire.CODE_PLU, Re_inventaire.SommeDePOIDS_PIECES" & Chr(13) & "" & Chr(10) & "FROM `C:\Projet VB\Gestion du personnel\bd2`.Re_inventaire Re_inventaire" & Chr(13) & "" & Chr(10) & "WHERE" _
, _
" (Re_inventaire.DATE_TICKET={ts '2004-10-13 00:00:00'}) AND (Re_inventaire.NUMERO_RAYON=5) AND (Re_inventaire.CODE_PLU=1010)" _
)
End With
End Sub
là le code marche
example2:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 14/10/2004 par MARC
'
Dim MeDate as Date
Dim NuRay as Variante
Dim NuCode as Variante
MeDate= range("A1").value
NuRay= range("A2").value
NuCode= range("A3").value
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=C:\Projet VB\Gestion du personnel\bd2.mdb;DefaultDir=C:\Projet VB\Gestion du personnel;DriverId=281;" _
), Array("FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:= _
Range("j5"))
.CommandText = Array( _
"SELECT Re_inventaire.DATE_TICKET, Re_inventaire.NUMERO_RAYON, Re_inventaire.CODE_PLU, Re_inventaire.SommeDePOIDS_PIECES" & Chr(13) & "" & Chr(10) & "FROM `C:\Projet VB\Gestion du personnel\bd2`.Re_inventaire Re_inventaire" & Chr(13) & "" & Chr(10) & "WHERE" _
, _
" (Re_inventaire.DATE_TICKET={ts MeDate}) AND (Re_inventaire.NUMERO_RAYON=NuRay) AND (Re_inventaire.CODE_PLU=NuCode)" _
)
End With
End Sub
là le code ne marche pas
Comment faire pour faire fonctionner le code de l'example2
Merci