
Envoyé par
Eleda
Ce code fonctionne uniquement si il n'y a qu'un seul compte, ...
Donc
cpte = "(DELAIS.EXDCOQY = " & ActiveCell.Value & ")"
est correct.
Donc
cpte = cpte & " " & "OR" & " " & "(DELAIS.EXDCOQY = '" & ActiveCell.Value & "' )"
ne l'est pas.
Tu pourrais essayer
cpte = cpte & " OR (DELAIS.EXDCOQY = " & ActiveCell.Value & ")"
D'autre part, dans la chaîne SQL, cette portion
..."WHERE " & cpte & " AND (DELAIS.EXDHESI>"...
doit probablement être remplacée par
"WHERE (" & cpte & ") AND (DELAIS.EXDHESI>"
L'utilisation de la fonction Array avec CommandText reste mystérieuse pour moi.
Extrait de l'aide
Pour les sources ODBC, la propriété CommandText fonctionne exactement comme la propriété SQL et la définition de la propriété génère l'actualisation des données.
Exemple
Cet exemple montre comment définir la chaîne de commande de la source de données ODBC de la première table de requête. Notez que la chaîne de commande constitue une instruction SQL.
Set qtQtrResults = _
Workbooks(1).Worksheets(1).QueryTables(1)
With qtQtrResults
.CommandType = xlCmdSQL
.CommandText = "Select ProductID From Products Where ProductID < 10"
.Refresh
End With
C'est vrai que tu ne définis pas CommandType, mais xlCmdSQL est la valeur par défaut...
Cordialement,
PGZ
Partager