Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en
VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre
VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID
[AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000,
le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec
Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour André,
Ton classeur fait probablement référence à une référence ( dans la fenêtre de l'éditeur de macro / barre des menus / outils / references /) que l'ordi. de ton ami ne possède pas... ou n'a pas la même version que toi.
Il est difficile d'aller plus loin.... sans connaître les références que ton projet possède !
Si ton projetvba est déverouillé, Excel t'amènera à la ligne de code qui est problématique et cela devrait répondre à ta question plus précisément.
Salutations!
"André" a écrit dans le message de news: e$3AuwY$ Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID [AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000, le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
André.
Bonjour André,
Ton classeur fait probablement référence à une référence
( dans la fenêtre de l'éditeur de macro / barre des menus / outils / references /)
que l'ordi. de ton ami ne possède pas... ou n'a pas la même version que toi.
Il est difficile d'aller plus loin.... sans connaître les références que ton projet
possède !
Si ton projetvba est déverouillé, Excel t'amènera à la ligne de code qui est problématique
et cela devrait répondre à ta question plus précisément.
Salutations!
"André" <nospama.bonneau@globetrotter.net> a écrit dans le message de news: e$3AuwY$FHA.1028@TK2MSFTNGP11.phx.gbl...
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en
VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre
VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID
[AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000,
le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec
Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
Ton classeur fait probablement référence à une référence ( dans la fenêtre de l'éditeur de macro / barre des menus / outils / references /) que l'ordi. de ton ami ne possède pas... ou n'a pas la même version que toi.
Il est difficile d'aller plus loin.... sans connaître les références que ton projet possède !
Si ton projetvba est déverouillé, Excel t'amènera à la ligne de code qui est problématique et cela devrait répondre à ta question plus précisément.
Salutations!
"André" a écrit dans le message de news: e$3AuwY$ Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID [AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000, le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
André.
Jacques93
Bonjour André,
le CLSID {AC9F2F90-E877-11CE-9F68-00AA00574A4F}, correspond à Microsoft Forms :
WindowsSystem32fm20.dll
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID [AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000, le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
André.
-- Cordialement,
Jacques.
Bonjour André,
le CLSID {AC9F2F90-E877-11CE-9F68-00AA00574A4F}, correspond à Microsoft
Forms :
WindowsSystem32fm20.dll
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en
VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre
VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID
[AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000,
le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec
Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
le CLSID {AC9F2F90-E877-11CE-9F68-00AA00574A4F}, correspond à Microsoft Forms :
WindowsSystem32fm20.dll
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID [AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000, le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
André.
-- Cordialement,
Jacques.
Jacques93
Bonjour André,
le CLSID {AC9F2F90-E877-11CE-9F68-00AA00574A4F}, correspond à Microsoft Forms :
WindowsSystem32fm20.dll
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID [AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000, le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
André.
-- Cordialement,
Jacques.
Bonjour André,
le CLSID {AC9F2F90-E877-11CE-9F68-00AA00574A4F}, correspond à Microsoft
Forms :
WindowsSystem32fm20.dll
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en
VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre
VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID
[AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000,
le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec
Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
le CLSID {AC9F2F90-E877-11CE-9F68-00AA00574A4F}, correspond à Microsoft Forms :
WindowsSystem32fm20.dll
Salut à tous, j'ai expédié à un ami, un fichier Excel que j'ai programmé en VBA, quand il active les macros, le fichier ne s'ouvre pas et une fenêtre VBA s'affiche avec le message suivant:
La classe n'est pas enregistrée, recherche d'un objet avec CLSID [AC9F2F90-E877-11CE-9F68-00AA00574A4F]
Son ordinateur est sous XP avec Excel 2000, le fichier fonctionne très bien sur mon ordinateur, je suis sous XP avec Excel 97
Est-ce que quelqu'un peut m'aider à résoudre ce problème?
André.
-- Cordialement,
Jacques.
Clément Marcotte
Bonjour,
S'il l'a toujours sur sa machine, il peut essayer, avec toutes les applications Office fermées:
Menu Démarrer - Exécuter :
regsvr32 fm20.dll
Puisque c'est la bibliothèque des UserForms d'Office, il devrait l'avoir sur son CD d'Office. Avec un peu de chance, il va s'en sortir avec un "Détecter et réparer" dans le menu ? d'une application Office.
Sinon, il va devoir la rechercher sur le CD d'Office, la copier dans c:windowssystem ou c:windowssystem32, puis faire le regsvr32 fm20.dll
"André" a écrit dans le message de news: e3%23oBjp$
Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à: C:WindowsSystem32Fm20.dll
Merci, André.
Bonjour,
S'il l'a toujours sur sa machine, il peut essayer, avec toutes les
applications Office fermées:
Menu Démarrer - Exécuter :
regsvr32 fm20.dll
Puisque c'est la bibliothèque des UserForms d'Office, il devrait l'avoir sur
son CD d'Office. Avec un peu de chance, il va s'en sortir avec un "Détecter
et réparer" dans le menu ? d'une application Office.
Sinon, il va devoir la rechercher sur le CD d'Office, la copier dans
c:windowssystem ou c:windowssystem32, puis faire le
regsvr32 fm20.dll
"André" <nospama.bonneau@globetrotter.net> a écrit dans le message de news:
e3%23oBjp$FHA.2996@TK2MSFTNGP09.phx.gbl...
Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la
référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à:
C:WindowsSystem32Fm20.dll
S'il l'a toujours sur sa machine, il peut essayer, avec toutes les applications Office fermées:
Menu Démarrer - Exécuter :
regsvr32 fm20.dll
Puisque c'est la bibliothèque des UserForms d'Office, il devrait l'avoir sur son CD d'Office. Avec un peu de chance, il va s'en sortir avec un "Détecter et réparer" dans le menu ? d'une application Office.
Sinon, il va devoir la rechercher sur le CD d'Office, la copier dans c:windowssystem ou c:windowssystem32, puis faire le regsvr32 fm20.dll
"André" a écrit dans le message de news: e3%23oBjp$
Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à: C:WindowsSystem32Fm20.dll
Merci, André.
André
Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à: C:WindowsSystem32Fm20.dll
Merci, André.
Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la
référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à:
C:WindowsSystem32Fm20.dll
Dans l'éditeur VBE Menu Outils sous menu Références Dans la liste, cocher Microsoft Forms 2.0 Objects Library qui correspond à la DLL FM20 en cause
Bonne journée
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/ Conseillé : http://dj.joss.free.fr/netiquet.htm (charte, nétiquette, conseils, abréviations, souriettes...) http://www.excelabo.net/mpfe/connexion.php (connexion, conseils...)
"André" a écrit dans le message de news: Oxv3nmp$
Salut Jacques, sait-tu comment faire apparaitre Microsoft Form dans la liste des références de l'éditeur VBA?
Merci, André.
michdenis
Bonjour André,
A ) C'est toujours une bonne idée de s'assurer que l'application développé ne contient pas des références qui sont inutiles, le cas échéant.
B ) La problématique qui se pose avec les références est qu'elles ne sont pas nécessairement situées au même endroit dans l'arborescence des fichiers de Windows. Selon le système d'exploitation utilisé, la référence dont il est question peut se retrouver à différent endroit :
'A vérifier -> la mémoire est une faculté qui oublie ... ;-) windows 98 et Millénium : C:WindowsSystemFm20.dll Windows2000 C:WinntSystem32Fm20.dll Windows Xp C:WindowsSystem32Frm20.dll
Conclusion évidente : Au chargement de l'application, Excel peut éprouver de la difficulté à localiser la référence ... et envoie le message d'erreur que tu connais.
C ) Solution 1
Dans le ThisWorkbook, tu utilises la procédure événementielle suivante afin de t'assurer que le chemin de la référence est bonne : '--------------------------------- Private Sub Workbook_Open() TesterBibliothequeFormulaire End Sub '---------------------------------
Dans un module Standard de ton application. copie ce qui suit :
'Haut de ton module, Déclaration de l'API Private Declare Function GetSystemDirectory Lib "kernel32" _ Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long '-------------------------------- Function CheminSystem() Dim RetVal As Long Dim SysDir As String
If RetVal <> 0 Then CheminSystem = Left$(SysDir, RetVal) End If End Function '-------------------------------- Sub TesterBibliothequeFormulaire()
Dim File As String File = CheminSystem & "FM20.DLL" On Error Resume Next ThisWorkbook.VBProject.References.AddFromFile File End Sub '--------------------------------
Solution II
Cette solution ne requiert pas d'API, mais tu dois connaître le GUID.
Lorsque tu utilises le GUID pour insérer des nouvelles références, comme dans l'exemple que j'ai donné, cette procédure se fout complètement des chemins où sont logés les fichiers, donc elle s'applique à tous les systèmes d'exploitations Windows.(Jamais testé ça sur des versions windows 3.1 et plus ancien !)
De plus, même si la "Description de la bibliothèque (l'appellation dans la fenêtre référence) à changer, si son nom de bibliothèque est demeuré le même(voir explorateur d'objet dans la fenêtre VBE) , même si cette bibliothèque a subi des mises à jour, la procédure s'applique très bien sans aucune difficulté.
IL y a seulement une petite exception, c'est lorsque Microsoft décide de modifier le nom de la bibliothèque... Et ça arrive à l'occasion ....En conséquence, peu importe la façon utilisée, il faut faire les recherches nécessaires et s'assurer que les références utilisées seront chargés adéquatement à l'ouverture de l'application.
Sub TesterBibliothequeFormulaire2() On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0 End Sub '--------------------------------
Comment trouver les paramètres : Guid, major et minor : '-------------------------- Sub IdentifierParametreDuneReference()
Et si tu désires enlever cette référence au formulaire, A ) Supprimer tous les formulaires B ) utiliser cette petite procédure : '-------------------------------- Sub SupprimerUneReference() 'MsForms est le nom de la référence chargé par 'Microsoft Forms 2.0 object librairy" Dim Ref As Object With ThisWorkbook.VBProject Set Ref = .References("MsForms") .References.Remove Ref End With
End Sub '--------------------------------
Salutations!
"André" a écrit dans le message de news: e3%23oBjp$ Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à: C:WindowsSystem32Fm20.dll
Merci, André.
Bonjour André,
A ) C'est toujours une bonne idée de s'assurer que l'application développé ne contient pas
des références qui sont inutiles, le cas échéant.
B ) La problématique qui se pose avec les références est qu'elles ne sont pas nécessairement
situées au même endroit dans l'arborescence des fichiers de Windows. Selon le système
d'exploitation utilisé, la référence dont il est question peut se retrouver à différent endroit :
'A vérifier -> la mémoire est une faculté qui oublie ... ;-)
windows 98 et Millénium : C:WindowsSystemFm20.dll
Windows2000 C:WinntSystem32Fm20.dll
Windows Xp C:WindowsSystem32Frm20.dll
Conclusion évidente : Au chargement de l'application, Excel peut éprouver de la
difficulté à localiser la référence ... et envoie le message d'erreur que tu connais.
C ) Solution 1
Dans le ThisWorkbook, tu utilises la procédure événementielle suivante afin de
t'assurer que le chemin de la référence est bonne :
'---------------------------------
Private Sub Workbook_Open()
TesterBibliothequeFormulaire
End Sub
'---------------------------------
Dans un module Standard de ton application. copie ce qui suit :
'Haut de ton module, Déclaration de l'API
Private Declare Function GetSystemDirectory Lib "kernel32" _
Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
'--------------------------------
Function CheminSystem()
Dim RetVal As Long
Dim SysDir As String
If RetVal <> 0 Then
CheminSystem = Left$(SysDir, RetVal)
End If
End Function
'--------------------------------
Sub TesterBibliothequeFormulaire()
Dim File As String
File = CheminSystem & "FM20.DLL"
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile File
End Sub
'--------------------------------
Solution II
Cette solution ne requiert pas d'API, mais tu dois connaître le GUID.
Lorsque tu utilises le GUID pour insérer des nouvelles références, comme dans
l'exemple que j'ai donné, cette procédure se fout complètement des chemins où
sont logés les fichiers, donc elle s'applique à tous les systèmes d'exploitations
Windows.(Jamais testé ça sur des versions windows 3.1 et plus ancien !)
De plus, même si la "Description de la bibliothèque (l'appellation dans la fenêtre référence)
à changer, si son nom de bibliothèque est demeuré le même(voir explorateur d'objet dans la
fenêtre VBE) , même si cette bibliothèque a subi des mises à jour,
la procédure s'applique très bien sans aucune difficulté.
IL y a seulement une petite exception, c'est lorsque Microsoft décide de modifier le nom de
la bibliothèque... Et ça arrive à l'occasion ....En conséquence, peu importe la façon utilisée,
il faut faire les recherches nécessaires et s'assurer que les références utilisées seront chargés
adéquatement à l'ouverture de l'application.
Sub TesterBibliothequeFormulaire2()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0
End Sub
'--------------------------------
Comment trouver les paramètres : Guid, major et minor :
'--------------------------
Sub IdentifierParametreDuneReference()
Et si tu désires enlever cette référence au formulaire,
A ) Supprimer tous les formulaires
B ) utiliser cette petite procédure :
'--------------------------------
Sub SupprimerUneReference()
'MsForms est le nom de la référence chargé par
'Microsoft Forms 2.0 object librairy"
Dim Ref As Object
With ThisWorkbook.VBProject
Set Ref = .References("MsForms")
.References.Remove Ref
End With
End Sub
'--------------------------------
Salutations!
"André" <nospama.bonneau@globetrotter.net> a écrit dans le message de news: e3%23oBjp$FHA.2996@TK2MSFTNGP09.phx.gbl...
Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la
référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à:
C:WindowsSystem32Fm20.dll
A ) C'est toujours une bonne idée de s'assurer que l'application développé ne contient pas des références qui sont inutiles, le cas échéant.
B ) La problématique qui se pose avec les références est qu'elles ne sont pas nécessairement situées au même endroit dans l'arborescence des fichiers de Windows. Selon le système d'exploitation utilisé, la référence dont il est question peut se retrouver à différent endroit :
'A vérifier -> la mémoire est une faculté qui oublie ... ;-) windows 98 et Millénium : C:WindowsSystemFm20.dll Windows2000 C:WinntSystem32Fm20.dll Windows Xp C:WindowsSystem32Frm20.dll
Conclusion évidente : Au chargement de l'application, Excel peut éprouver de la difficulté à localiser la référence ... et envoie le message d'erreur que tu connais.
C ) Solution 1
Dans le ThisWorkbook, tu utilises la procédure événementielle suivante afin de t'assurer que le chemin de la référence est bonne : '--------------------------------- Private Sub Workbook_Open() TesterBibliothequeFormulaire End Sub '---------------------------------
Dans un module Standard de ton application. copie ce qui suit :
'Haut de ton module, Déclaration de l'API Private Declare Function GetSystemDirectory Lib "kernel32" _ Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long '-------------------------------- Function CheminSystem() Dim RetVal As Long Dim SysDir As String
If RetVal <> 0 Then CheminSystem = Left$(SysDir, RetVal) End If End Function '-------------------------------- Sub TesterBibliothequeFormulaire()
Dim File As String File = CheminSystem & "FM20.DLL" On Error Resume Next ThisWorkbook.VBProject.References.AddFromFile File End Sub '--------------------------------
Solution II
Cette solution ne requiert pas d'API, mais tu dois connaître le GUID.
Lorsque tu utilises le GUID pour insérer des nouvelles références, comme dans l'exemple que j'ai donné, cette procédure se fout complètement des chemins où sont logés les fichiers, donc elle s'applique à tous les systèmes d'exploitations Windows.(Jamais testé ça sur des versions windows 3.1 et plus ancien !)
De plus, même si la "Description de la bibliothèque (l'appellation dans la fenêtre référence) à changer, si son nom de bibliothèque est demeuré le même(voir explorateur d'objet dans la fenêtre VBE) , même si cette bibliothèque a subi des mises à jour, la procédure s'applique très bien sans aucune difficulté.
IL y a seulement une petite exception, c'est lorsque Microsoft décide de modifier le nom de la bibliothèque... Et ça arrive à l'occasion ....En conséquence, peu importe la façon utilisée, il faut faire les recherches nécessaires et s'assurer que les références utilisées seront chargés adéquatement à l'ouverture de l'application.
Sub TesterBibliothequeFormulaire2() On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0 End Sub '--------------------------------
Comment trouver les paramètres : Guid, major et minor : '-------------------------- Sub IdentifierParametreDuneReference()
Et si tu désires enlever cette référence au formulaire, A ) Supprimer tous les formulaires B ) utiliser cette petite procédure : '-------------------------------- Sub SupprimerUneReference() 'MsForms est le nom de la référence chargé par 'Microsoft Forms 2.0 object librairy" Dim Ref As Object With ThisWorkbook.VBProject Set Ref = .References("MsForms") .References.Remove Ref End With
End Sub '--------------------------------
Salutations!
"André" a écrit dans le message de news: e3%23oBjp$ Bonjour Mich, ta as raison, l'ordinateur de mon ami ne possède pas la référence Microsoft Forms 2.0 objet Library,
sait-tu comment faire apparaître cette référence dans sa liste?
Dans mon ordinateur cette référence est stockée à: C:WindowsSystem32Fm20.dll