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 :

Erreur 430 : la classe ne gère pas automation ou l'interface attendue


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut Erreur 430 : la classe ne gère pas automation ou l'interface attendue
    Bonjour,

    Ce problème est souvent débattu sur internet mais je n'ai pas trouvé de solution et arrive au bout de mes compétences... Je m'en remets aux vôtres pour débloquer la situation svp

    J'ai développé sur mon PC, un fichier Excel qui vient importer des informations d'une base de données Oracle. Jusque là tout va bien. ça se corse quand j'essaie de faire fonctionner ce fichier sur d'autres PC ! Ce fichier fonctionne sur mon poste mais sur aucun des postes des utilisateurs. Une erreur 430 est générée avec le message "la classe ne gère pas automation ou l'interface attendue".

    Je vais essayer de détailler mon code ci-dessous :

    Pour me connecter à la base de données, j'utilise la fonction suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Explicit
    Public cnx As ADODB.Connection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Sub ConnecterBaseOracle()
     
    'ouverture connexion
    If cnx Is Nothing Then
        If strConnectionString = "" Then
            strConnectionString = "Driver={Oracle dans OraClient10g_home1};Dbq=BNE_PROD;UID=test;PWD=test;Server=test;Database=BNE_PROD;"
        End If
        Set cnx = New ADODB.Connection
        cnx.ConnectionString = strConnectionString
        cnx.Open
    End If
     
    End Sub
    Comme je le disais, sur mon PC, pas de problème, tout s’exécute normalement mais sur celui des utilisateurs, le code plante sur la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set cnx = New ADODB.Connection
    et le message d'erreur suivant apparait : Erreur d'éxécution '430', la classe ne génère pas Automation ou l'interface attendue.

    Auriez-vous une idée svp ?
    Merci beaucoup pour votre aide

  2. #2
    Membre habitué Avatar de LouiMz
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 104
    Points : 154
    Points
    154
    Par défaut
    Bonjour,

    La reference ou les dlls sont-ils activés ou présents sur le poste utilisateur?
    Cordialement

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Bonjour LouiMz,

    Merci pour ton retour.

    Je ne suis pas sûr de bien comprendre ce que tu veux dire mais voici ce que j'ai fais :
    • vérifier les références cochées sous vba (Outils/Références)
    • vérifier la liste des pilotes ODBC installées sur le PC utilisateur (dans l'administrateur de sources de données ODBC)


    Dans les deux cas, pas de différence entre nos deux PC.

    Comment activer les dll ou vérifier leur présence et lesquelles ?

    Merci

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    j'ai déjà eu ce cas après l'installation d'un programme qui utilisait MDAC 2.0 et qui modifiait l'enregistrement des dll les plus récentes de la base de registre obligeant ainsi tout appel ADO à utiliser les drivers 2.0

    pour corriger j'ai appliqué ceci pour remettre a niveau la base de registre
    Faire une sauvegarde avant quand même (on ne sait jamais)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    regsvr32 /s "C:\Program Files\Fichiers communs\System\ado\msado15.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\ado\msadomd.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\ado\msador15.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\ado\msadox.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\ado\msajro.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msadce.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msadcf.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msadco.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msadds.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msdaprst.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msdarem.dll"
    regsvr32 /s "C:\Program Files\Fichiers communs\System\msadc\msdfmap.dll"
    Jérôme

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Salut jfontaine,

    J'ai testé ta solution hier mais pas de miracle malheureusement, toujours le même souci...

    Je sèche complet !

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 33
    Points
    33
    Par défaut
    Salut,

    j'ignore si tu as résolu ton problème mais ayant eu le même la solution suivante a fonctionnée pour moi !

    http://www.asmsite.net/blog/detail.asp?bID=43

    Bonne chance :-)

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/11/2011, 21h36
  2. erreur d'executin 430 la classe ne gere pas automation ou l'interface attendue
    Par zied.ellouze dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/07/2011, 09h46
  3. Erreur 430 La classe ne gère pas Automation ou l'interface attendue
    Par melancolie dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/05/2011, 12h33
  4. Erreur 430 La classe ne gère pas Automation ou l'interface attendue
    Par FabDev dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/03/2010, 15h38
  5. Erreur : La classe ne gère pas Automation..
    Par Invité dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/09/2004, 10h24

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