IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

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


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Err.Number lors exécution Selection.QueryTable.Refresh BackgroundQuery:=False
    *Bonjour,*

    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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"

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

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Quand tu dis "récupérer", le code vient donc d'un autre PC ?
    As tu réussi à rafraichir manuellement ?
    As tu essayé de créer une nouvelle liaison ?
    Si tu n'y arrive pas, ça ressemble alors à un soucis que j'ai eu.
    Mon code fonctionnait parfaitement chez moi mais pas chez mes collègues, après avoir tout vérifier on a mis la même version Oracle chez eu que chez moi (OraHome9.2) et miracle...
    A+
    N'oubliez pas le si votre problème est solutionné.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui le code vient d'un autre PC, mais il fonctionne sur deux autres mais pas sur le mien.
    J'arrive, en sélectionnant la source données externe et avec un clique droit sur celle-ci, à faire actualiser et il me ramène les données.
    Mais pas en exécutant l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.QueryTable.Refresh BackgroundQuery:=False
    J'ai aussi essayé de créer une nouvelle liaison et cela marche tout ce que je fais manuellement fonctionne. Le problème doit être au niveau de VB ou des options ?

    Merci de votre aide

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Es tu certain que la table est bien "sélectionné" car sur la ligne le Select n'est peut-être pas le plus adequoi.

    As tu essayé en remplaçant le Selection par le nom de la feuille ?

    A+
    N'oubliez pas le si votre problème est solutionné.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je pense avoir trouvé l'origine du problème.
    J'exécute la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

Discussions similaires

  1. Select Case Err.Number
    Par Mario Rousson dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/10/2007, 07h21
  2. ADOX: Err 3219 lors d'une MAJ de .DefinedSize
    Par davidso dans le forum Access
    Réponses: 3
    Dernier message: 07/12/2006, 14h47
  3. QueryTables Refresh probleme
    Par csensoli dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 01/09/2006, 18h38
  4. On error goto Err : goto non exécutée au 2ème appel
    Par charliejo dans le forum Access
    Réponses: 1
    Dernier message: 11/04/2006, 15h00
  5. Réponses: 9
    Dernier message: 21/10/2005, 19h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo