Hello le forum,

Je veux executer une requete dans SQL SERVER depuis excel, puis d'automatiser cette tâche.

Du coup j'ai fait un bon vieux enregistreur de macro pour voir ce que ça donne .

J'ai remarqué qui execute cette commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveWorkbook.Queries.Add
avec la requete qui va bien.

Ce la fonctionne bien .

Sauf que, j'utilise 2 variables a changer tous les mois dans ma requete SQL. Ces variables sont déclarées en debut de requete SQL comme VARCHAR.

Du coup, ce que je veux faire c'est ajouter dans 2 cellules excel mes variables et que ma macro récupère ces variables et les intègrent dans ma requete sql.

Cest variables sont déclarées en STRING dans VBA.

Ma première idée, c'est de remplacer les valeurs affectées en début de requete de ma déclaration de variables, comme ça j'ai juste à modifier 2 valeurs.

Sauf que j'obtiens un tableau vide...

Du coup j'ai modifier toutes les fois où mes variables été utilisées directement dans ma requête et ça marche !

Ma question est la suivante : Pourquoi la deuxième méthode fonctionne et non la première ? Problème de convertion du STRING avec le VARCHAR ? Y a t il un moyen de contourner ?

Pour cette requete j'ai que 2 variables et la requete n'est pas tres grande donc je peux le faire, mais sur d'autre j'ai + de variables et la requete est plus longue ...

Merci pour votre aide.

Rag.