Err.Number = 9 lors exécution : Selection.QueryTable.Refresh BackgroundQuery:=Fa

fguilbau Messages postés 2 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 30 novembre 2009 - 30 nov. 2009 à 10:51
fguilbau Messages postés 2 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 30 novembre 2009 - 30 nov. 2009 à 17:18
J'ai récupéré un fichier excel fonctionnant sous Excel 2003 avec des macros et des requêtes SQL vers une base Oracle que je souhaite utiliser sous Excel 2007.
J'ai paramétré mon TNSNAMES.ora et lorsque je le teste. La connexion est ok.
J'ai paramétré une source ODBC et lorsque je la teste. La connexion est ok.
Dans le fichier Excel, je dispose de trois connexions à son ouverture.
Si je tente de les actualiser, il me demande d'indiquer la source ODBC, correspondante et ensuite semble actualiser les données.
Lorsqu'en revanche j'actionne la macro permettant notamment ce rafraîchissement de données par l'instruction suivante :
- Selection.QueryTable.Refresh BackgroundQuery:= False
J'obtiens le résultat suivant :
"Une erreur est survenue (Code=9 ), la feuille n'existe pas"

La popup affichée est le résultat de l'instruction : MsgBox "Une erreur est survenue (Code =" & Err.Number & "), la feuille" & w & " n'existe pas", vbExclamation, "Erreur"

Je suis perdu, à l'aide.

D'avance merci, pour tout élément que vous pourriez m'apporter

1 réponse

fguilbau Messages postés 2 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 30 novembre 2009
30 nov. 2009 à 17:18
Je pense avoir trouvé l'origine du problème.
J'exécute la requête suivante :
"
SELECT DISTINCT ZOZA.SOCDOS, ZOZA.CDENTI, ZOZA.CDEXPL, ZOZA.LIBMOI, ZOZA.ANNEE0, ZOZA.MONTD1, ZOZA.MONTD2, ZOZA.MONTD3, ZOZA.MONTD4, ZOZA.MONTD5, ZOZA.DEVIS, ZOZA.NBVIRE, ZOZA.MONTE1, ZOZA.MONTE2, ZOZA.MONTE3, ZOZA.MONTE4, ZOZA.MONTE5, ZOZA.MONTE6, ZD01_1.LIBLON, rpad(ZD0I.COMPT1,4) , substrb(ZD0I.COMPT1,5) , ZD0I.BANDOR, ZDAG.CDSIRE||ZDAG.CDNICS, ZDBC.DAVIR FROM HR.ZD00 ZD00, HR.ZD00 ZD00_1, HR.ZD01 ZD01, HR.ZD01 ZD01_1, HR.ZD0I ZD0I, HR.ZDAG ZDAG, HR.ZDZF ZDZF, HR.ZOZA ZOZA, HR.ZDBC ZDBC, ( select distinct (LIBMOI), decode(LIBMOI, 'JANVIER ','01', 'FEVRIER ','02', 'MARS ','03', 'AVRIL ','04', 'MAI ','05', 'JUIN ','06', 'JUILLET ','07', 'AOUT ','08', 'SEPTEMBRE','09', 'OCTOBRE ','10', 'NOVEMBRE ','11', 'DECEMBRE ','12', ' ') as mois from hr.zoza) c, HR.ZD00 d WHERE (ZD01.NUDOSS=ZD00.nudoss) AND (ZD00.CDSTCO='YBQ') AND (ZD00.CDREGL='M01') AND (ZD00.CDCODE=ZOZA.CDEXPL) AND (ZD01_1.NUDOSS=ZD00_1.nudoss) AND (ZD00_1.CDSTCO='UAA') AND (ZD00_1.CDREGL='M01') AND (ZD00_1.CDCODE=ZOZA.CDENTI) AND (ZD0I.NUDOSS=ZD00_1.nudoss) AND (ZDAG.NUDOSS=ZD00_1.NUDOSS) AND c.libmoi = ZOZA.libmoi and d.cdregl = 'M01' and d.CDSTCO = 'DR7' and d.cdcode = 'AN'||c.mois||' ' and ZDBC.typass = 'N' and ZDBC.CDPEPA = substrb(ZOZA.annee0,3,2)||c.mois and ZDBC.nudoss = d.nudoss union SELECT DISTINCT ZOZA.SOCDOS, ZOZA.CDENTI, ZOZA.CDEXPL, ZOZA.LIBMOI, ZOZA.ANNEE0, ZOZA.MONTD1, ZOZA.MONTD2, ZOZA.MONTD3, ZOZA.MONTD4, ZOZA.MONTD5, ZOZA.DEVIS, ZOZA.NBVIRE, ZOZA.MONTE1, ZOZA.MONTE2, ZOZA.MONTE3, ZOZA.MONTE4, ZOZA.MONTE5, ZOZA.MONTE6, ' ' , ' ' ,' ' ,' ' , ' ' , ZDBC.DAVIR FROM HR.ZOZA ZOZA, HR.ZDBC ZDBC, ( select distinct (LIBMOI), decode(LIBMOI, 'JANVIER ','01', 'FEVRIER ','02', 'MARS ','03', 'AVRIL ','04', 'MAI ','05', 'JUIN ','06', 'JUILLET ','07', 'AOUT ','08', 'SEPTEMBRE','09', 'OCTOBRE ','10', 'NOVEMBRE ','11', 'DECEMBRE ','12', ' ') as mois from hr.zoza) c, HR.ZD00 d WHERE ZOZA.CDENTI='CAS' AND c.libmoi = ZOZA.libmoi and d.cdregl = 'M01' and d.CDSTCO = 'DR7' and d.cdcode = 'AN'||c.mois||' ' and ZDBC.typass = 'N' and ZDBC.CDPEPA = substrb(ZOZA.annee0,3,2)||c.mois and ZDBC.nudoss = d.nudoss
"

Où la colonne DEVIS a la valeur "EURO" et j'utilise Excel avec le complément "Euro currency tools" quand je désactive ce complément cela marche. Savez vous pourquoi ?
0
Rejoignez-nous