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

Visual Studio Discussion :

Problème classe non enregistrée


Sujet :

Visual Studio

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Problème classe non enregistrée
    Bonjour à tous,

    C'est contraint et résigné que je me vois dans l'obligation de poster un message sur ce beau forum de developpez. D'habitude je me contente de fureter sur les pages et d'y trouver mes réponses mais force est de constater, aujourd'hui, que je reste dans l'impasse...

    Je viens d'installer Visual Basic Express 2010. Novice dans le domaine, je me débrouille pour réaliser ma petite application. Sur mon poste, tout tourne rond.
    L'appli étant destinée à un collègue, je la publie via clickOnce. Plein d'erreurs lors de l'exécution sur le poste cible m'amènent finalement à installer Visual Basic Express 2010 sur le poste de mon collègue (je vous raconte en condensé hein!).

    Lorsque j'exécute l'appli sur le PC du collègue, une erreur apparait lors d'une étape consistant à récupérer des données depuis un classeur excel.

    Dans VBE2010 ça donne une exception de première chance dans mscordlib.dll et le debugger me surligne la ligne suivante (en rouge):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim xlApp As New Microsoft.Office.Interop.Excel.Application
    xlApp = CreateObject("Excel.Application")
    Dim wbExcel As New Microsoft.Office.Interop.Excel.Workbook
    Lorsque j'exécute le programme installé par clickOnce j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    Consultez la fin de ce message pour plus de détails sur l'appel du débogage
    juste-à-temps (JIT) à la place de cette boîte de dialogue.
     
     
    ************** Texte de l'exception **************
     
    System.Runtime.InteropServices.COMException (0x80040154): La récupération de la fabrique de classes COM pour le composant avec le CLSID {00020819-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante*: 80040154 Classe non enregistrée (Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).
       à WindowsApplication1.Form1.ExportExcelToVBA(Object FichierResultat)
       à WindowsApplication1.Form1.Traitement(Object MyForm3)
       à WindowsApplication1.Form3.Button2_Click(Object sender, EventArgs e)
       à System.Windows.Forms.Control.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ButtonBase.WndProc(Message& m)
       à System.Windows.Forms.Button.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
     
     
    ************** Assemblys chargés **************
     
    mscorlib
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 (RTMRel.030319-0100)
        CodeBase*: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
     
    ----------------------------------------
     
    ExtractionDonneesWiff
        Version de l'assembly*: 1.0.0.0
        Version Win32*: 1.0.0.0
        CodeBase*: file:///C:/Documents%20and%20Settings/rihouchr/nternet/Apps/2.0/7VDKPYCR.RTC/7O765CDZ.DWL/extr..tion_ca6b92d8614f1a60_0001.0000_3a42b47170ff91d4/ExtractionDonneesWiff.exe
     
    ----------------------------------------
     
    Microsoft.VisualBasic
        Version de l'assembly*: 10.0.0.0
        Version Win32*: 10.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
     
    ----------------------------------------
     
    System
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
     
    ----------------------------------------
     
    System.Core
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
     
    ----------------------------------------
     
    System.Windows.Forms
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
     
    ----------------------------------------
     
    System.Drawing
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
     
    ----------------------------------------
     
    System.Runtime.Remoting
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 (RTMRel.030319-0100)
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
     
    ----------------------------------------
     
    CustomMarshalers
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 (RTMRel.030319-0100)
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/CustomMarshalers/v4.0_4.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll
     
    ----------------------------------------
     
    Accessibility
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
     
    ----------------------------------------
     
    mscorlib.resources
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 (RTMRel.030319-0100)
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
     
    ----------------------------------------
     
    Interop.Analyst
        Version de l'assembly*: 1.0.0.0
        Version Win32*: 1.0.0.0
        CodeBase*: file:///C:/Documents%20and%20Settings/rihouchr/nternet/Apps/2.0/7VDKPYCR.RTC/7O765CDZ.DWL/extr..tion_ca6b92d8614f1a60_0001.0000_3a42b47170ff91d4/Interop.Analyst.DLL
     
    ----------------------------------------
     
    System.Xml
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
     
    ----------------------------------------
     
    Microsoft.Office.Interop.Excel
        Version de l'assembly*: 12.0.0.0
        Version Win32*: 12.0.6425.1000
        CodeBase*: file:///C:/WINDOWS/assembly/GAC/Microsoft.Office.Interop.Excel/12.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Excel.dll
     
    ----------------------------------------
     
    office
        Version de l'assembly*: 12.0.0.0
        Version Win32*: 12.0.6425.1000
        CodeBase*: file:///C:/WINDOWS/assembly/GAC/office/12.0.0.0__71e9bce111e9429c/office.dll
     
    ----------------------------------------
     
    Interop.DataListLib
        Version de l'assembly*: 1.0.0.0
        Version Win32*: 1.0.0.0
        CodeBase*: file:///C:/Documents%20and%20Settings/rihouchr/nternet/Apps/2.0/7VDKPYCR.RTC/7O765CDZ.DWL/extr..tion_ca6b92d8614f1a60_0001.0000_3a42b47170ff91d4/Interop.DataListLib.DLL
     
    ----------------------------------------
     
    Interop.ExploreDirLib
        Version de l'assembly*: 1.0.0.0
        Version Win32*: 1.0.0.0
        CodeBase*: file:///C:/Documents%20and%20Settings/rihouchr/nternet/Apps/2.0/7VDKPYCR.RTC/7O765CDZ.DWL/extr..tion_ca6b92d8614f1a60_0001.0000_3a42b47170ff91d4/Interop.ExploreDirLib.DLL
     
    ----------------------------------------
     
    Interop.ExploreDataObjects
        Version de l'assembly*: 1.0.0.0
        Version Win32*: 1.0.0.0
        CodeBase*: file:///C:/Documents%20and%20Settings/rihouchr/nternet/Apps/2.0/7VDKPYCR.RTC/7O765CDZ.DWL/extr..tion_ca6b92d8614f1a60_0001.0000_3a42b47170ff91d4/Interop.ExploreDataObjects.DLL
     
    ----------------------------------------
     
    Interop.GraphControlLib
        Version de l'assembly*: 1.0.0.0
        Version Win32*: 1.0.0.0
        CodeBase*: file:///C:/Documents%20and%20Settings/rihouchr/nternet/Apps/2.0/7VDKPYCR.RTC/7O765CDZ.DWL/extr..tion_ca6b92d8614f1a60_0001.0000_3a42b47170ff91d4/Interop.GraphControlLib.DLL
     
    ----------------------------------------
     
    System.Windows.Forms.resources
        Version de l'assembly*: 4.0.0.0
        Version Win32*: 4.0.30319.1 built by: RTMRel
        CodeBase*: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
     
    ----------------------------------------
     
     
     
    ************** Débogage JIT **************
    Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
    application ou cet ordinateur (machine.config) doit avoir la valeur
    jitDebugging définie dans la section system.windows.forms.
    L'application doit également être compilée avec le débogage
    activé.
     
    Par exemple*:
     
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
     
    Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
    seront envoyées au débogueur JIT inscrit sur l'ordinateur
    plutôt que d'être gérées par cette boîte de dialogue.

    Au cours de mes recherches, j'ai essayé plusieurs choses :

    - Vérifier que les références permettant d'utiliser ces fonctions existent bien dans mon projet : c'est bon ("Microsoft Excel 12.0 Object Library")
    - Office 2007 installé sur le pc
    - "registration" via regsvr32 : je n'ai pas su quelle dll utiliser. L'interop excel pointant vers excel.exe, j'ai essayé avec le chemin vers cet exécutable sans grande conviction et comme de fait cela n'a rien donné.
    - installation des PIAs pour office 2007

    Rien n'a fonctionné...

    Ma question : quelqu'un saurait-il m'expliquer pourquoi l'appli tourne sur mon pc dans VBE2010 et pas sur celui de mon collègue (nous sommes tous les 2 sous xp SP3).

    En espérant avoir été aussi précis que nécessaire,

    Merci d'avance!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Pas tout à fait résolution mais contournement
    Bonjour à tous,

    J'ai finalement abandonné la recherche du "pourquoi ça marche sur mon pc et pas sur celui d'un autre". Divers indices m'amènent à penser que des histoires de paramètres de sécurité relatifs aux comptes entrent en jeu mais sans certitude : tous les paramètres de sécurité sont laissés par défaut sur mon pc alors que mon collègue jongle entre plusieurs comptes utilisateurs, administrateur "partiel", etc. sur son pc (m'en demandez pas plus, je ne suis pas du tout au fait là-dessus).
    Apparemment, cela pourrait avoir un impact dans la mise en place de certaines clefs du registre, d'où l'impossibilité de de trouver la référence Interop permettant l'ouverture d'un workbook.

    Toujours est-il que j'ai modifié mon code pour contourner le problème.

    De :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim xlApp As New Microsoft.Office.Interop.Excel.Application
    xlApp = CreateObject("Excel.Application")
    Dim wbExcel As New Microsoft.Office.Interop.Excel.Workbook
    Je suis passé à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim xlApp As Microsoft.Office.Interop.Excel.Application
    xlApp = CreateObject("Excel.Application")
    Dim wbExcel As Excel.Workbook = xlApp.Workbooks.Add()
    Et je n'ai plus de problème pour ouvrir mes fichiers excel!

    Je passe tout de même le sujet en résolu (les modérateurs me corrigeront s'il ne fallait pas) mais si quelqu'un a la solution je suis toujours preneur...

    A bientôt!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Classe non enregistrée
    Par nassoft dans le forum Delphi
    Réponses: 13
    Dernier message: 26/05/2007, 12h56
  2. BDS2006, "Classe non enregistrée"
    Par maxim_um dans le forum C++Builder
    Réponses: 7
    Dernier message: 11/05/2007, 19h51
  3. EoleSysError classe non enregistrée
    Par Daniel Magron dans le forum Delphi
    Réponses: 10
    Dernier message: 19/11/2006, 11h36
  4. classe non enregistrée
    Par kilian dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/11/2006, 12h35
  5. [ToutlookApplication] Classe non enregistrée
    Par nico33410 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2005, 10h36

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