Passer un paramètre dans une requète

Fermé
BPAUD Messages postés 74 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 8 février 2012 - 11 juil. 2008 à 16:19
 moonj - 28 mai 2009 à 09:33
Bonjour,
depuis une 'Base de données" sous Excel 2003, je souhaite extraire (créer une requète) des enregistrements particuliers (dont la valeur d'un champ correrspond à un critère).
Tant que je pose 'en dur' la valeur de selection dans la requete ca se passe bien.
Dès que je veux utiliser la valeur d'un champ comme critère, le systeme refuse d'enregistrer la requète et me retourne un message "Trop peu de paramètres. 1 attendu".
J'ai essayé de donner l'adresse de la cellule en question, de nommer celle-ci et de signifier son nom dans le champ correspondant dans la zone 'Inclure seulement les lignes où"...
Rien n'y fait!

Quel est le truc ?
Merci beaucoup!
Cdlt
Bernard
A voir également:

2 réponses

Bonjour,
j'ai trouvé une solution a ce probleme, c'est pas le plus propre possible mais ca fonctione.
Si quelqu'un a mieux je suis preneur !!!!

En fait il faut faire une macro et du coup on edite le texte de la requete en live.
Voici un bout de solution :
A coller dans une macro.

Requete = "SELECT W_KIM_VEHICULEDTL.DOSINCDE, W_KIM_VEHICULEDTL.OBJINCDE, W_KIM_VEHICULEDTL.OBJIDENTVAL FROM KIMOCE.W_KIM_VEHICULEDTL W_KIM_VEHICULEDTL WHERE ('NO' ='" & Worksheets("Test").Range("F3") & "')"

With ActiveWorkbook.Connections("CERPTEST Test").OLEDBConnection
.BackgroundQuery = True
.CommandText = Array(Requete)
.CommandType = xlCmdSql
.Connection = _
"OLEDB;Provider=MSDAORA.1;Password=kimoce;User ID=kimoce;Data Source=CERPTEST"
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("CERPTEST Test")
.Name = "CERPTEST Test"
.Description = ""
End With
1