Err.Number = 9 lors exécution : Selection.QueryTable.Refresh BackgroundQuery:=Fa
fguilbau
Messages postés2Date d'inscriptionlundi 30 novembre 2009StatutMembreDernière intervention30 novembre 2009
-
30 nov. 2009 à 10:51
fguilbau
Messages postés2Date d'inscriptionlundi 30 novembre 2009StatutMembreDernière intervention30 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
fguilbau
Messages postés2Date d'inscriptionlundi 30 novembre 2009StatutMembreDernière intervention30 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 ?