Bonjour,

Je vais essayer de m'exprimer le mieux possible, tâche ardue car je n'ai commencé il n'y a qu'une semaine avec le VBA.

Ma situation est la suivante, très simple : j'ai récupéré des données par requête sql dans excel, et cela me fait un joli tableau avec les données demandées.
Jusque là, tout va bien, j'ai utilisé les outils et non pas le code pour cette première étape.

Ensuite, pour prendre des dates en paramètre, j'utilise VBA avec qui je récupère le contenu de deux cellules (où se trouvent mes dates) pour créer ma requête en String et je lance la requête avec ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sheets("LOG_DEP").Range("B3").ListObject.QueryTable.Connection = sConnL
            Sheets("LOG_DEP").Range("B3").ListObject.QueryTable.Sql = sSql
            Sheets("LOG_DEP").Range("B3").ListObject.QueryTable.Refresh BackgroundQuery:=False
Et jusque là encore, tout va bien, ça marche parfaitement, je suis même ravie. (J'avais eu du mal à faire fonctionner tout cela).

Seulement, lorsque ma précédente requête n'a renvoyé aucun résultat (tableau vide à l'exception du nom des champs), mon code ne fonctionne plus au prochain lancement. Voilà ce que j'ai :

Erreur d'exécution 91 :
Variable objet ou variable de bloc With non définie
Quand je clique sur débogage, cela m’amène sur cette ligne de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sheets("LOG_DEP").Range("B3").ListObject.QueryTable.Connection = sConnL
Cela me semble compréhensible même si en vérité je ne comprends pas tout.

Seulement...je ne sais pas du tout comment faire pour remédier à cela. J'ai essayé de créer une variable de type QueryTable et de l'affecter quelque part à la cellule, mais comme le fonctionnement ListObject et QueryTable est parfaitement obscur pour moi, j'ai probablement fait n'importe quoi.

Bref, je ne m'en sors pas, et je sens quelque chose m'échappe!

Quelqu'un saurait-il m'aiguiller un peu ?

Merci par avance !

Kaëlig.