Modifier une requete avec une macro dans exce

Fermé
ManuAntibes - 15 oct. 2004 à 23:48
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 - 16 oct. 2004 à 14:32
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
A voir également:

1 réponse

zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
16 oct. 2004 à 14:32
As- tu essayé de filter directement sur les cellules au lieu de passer par la déclaration de la variable?

(Re_inventaire.DATE_TICKET={ts MeDate}) AND (Re_inventaire.NUMERO_RAYON=A2) AND (Re_inventaire.CODE_PLU=A3)" _
)
0