Partager via

Excel 2010 pro Plus : Bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objets introuvables

Anonyme
2011-04-10T14:59:11+00:00

Ayant acquis la version office 2010 32bits, j'ai désinstallé la 2007 et testé mes fichiers Xl avec macro.

Un de ces fichiers ne fonctionne pas et m'affiche le message mis en titre : "Bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objets introuvables".

J'ai ouvert VBE et ai constaté qu'une référence était MANQUANTE. Je l'ai décochée (c'était celle de Calendar).

Quand je cherche à enregistrer mon fichier sous un autre nom, Xl me dit qu'il y a trop d'erreurs, qu'il essaye de les récupérer, pour finalement m'enregistrer un fichier vide de tout code, UserForm, module et formatage de cellule.

Je n'arrive pas à corriger cette erreur (que d'autres ont rencontré d'ailleurs).

Dans l'onglet Développeur, j'ai coché "Accès approuvé au modèle d'objets du projet VBA"

Dans Compléments, je n'ai aucune macro complémentaire activée.

Dans ComplémentsCom, j'ai désactivé "VBA code cleaner 5.0"

S'il le faut, je peux mettre le fichier sur cijoint. C'est un document de travail dont on se sert depuis 3 ans dans mon collège. Il contient des Uforms, des modules, des modules de classe.

Si je pouvais le modifier pour qu'il fonctionne aussi sous Office 2010, je vous en saurais reconnaissant.

PS: J'ai omis de préciser que ce fichier fonctionne très bien sous 2003 et sous 2007. Il est enregistré au format .xls

Merci de votre aide

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

20 réponses

  1. Anonyme
    2011-04-11T13:16:34+00:00

    Remarque supplémentaire : j'en ai ausssi fait une version .xlsm sans aucun problème aussi.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2011-04-11T13:14:46+00:00

    Bonjour,

    J'ai téléchargé ton fichier, je l'ai ouvert sans aucun problème avec Excel 2007 et je l'ai enregistré sous un autre nom toujours sans problème... voici la copie de ton fichier. J'ai ajouté le code que je t'avais suggéré pour le contrôle "Calendar". À propos de ce dernier, tu dois t'assurer que le fichier  suivant MSCAL.OCX existe sur ton ordinateur. C'est le fichier responsable du contrôle.

    Le code que je j'ai mis n'ajoute pas le contrôle "Calendar" à la boîte d'outils du formulaire (je ne connais pas de code qui fait cela), mais il charge la bonne bibliothèque en fonction de la version d'Excel installée sur l'ordinateur et permet l'utilisation du contrôle sans problème.

    http://www.cijoint.fr/cjlink.php?file=cj201104/cijYargsKe.xls

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2011-04-11T07:17:02+00:00

    Bonjour,

    Il m'est arrivé de résoudre ce genre de problème en enregistrant le classeur au format xls (97-2003) au lieu de xlsm.

    Je ne garantie rien malgré tout.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2011-04-11T06:57:39+00:00

    Bonjour MichD

    Merci de t'occuper à nouveau de mon cas.

    J'ai ouvert le fichier, collé ta proc dans this workbook, et Xl m'a refusé l'enregistrement :

    "Des erreurs ont été détectées lors de l'enregistrement de... Il se peut que Xl enregistre le doc en supprimant ou en réparant certaines fonctionnalités..."

    Si je continue l'enregistrement, il me reballance la boite de dialogue "Enregistrer sous". Que je renomme le fichier ou que je garde le même nom, j'ai la même réponse :

    "Xl a rencontré des erreurs pendant l'enregistrement mais a toutefois pu enregistrer une version minimale du fichier..." qu'il a renommé.

    Si j'ouvre ce fichier, il l'a débarrassé de toutes les macros et de tout formatage  de cellule (bordure, couleur , etc)

    Je le mets sur cijoint si tu veux bien y jeter un oeil...

    http://www.cijoint.fr/cjlink.php?file=cj201104/cij0DwVP0g.xls

    elect

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2011-04-10T21:23:53+00:00

    Bonjour,

    Une tentative copie ce qui suit dans le ThisWorkbook de ton classeur.

    Tu enregistres ton classeur, le ferme et que se passe-t-il à l'ouverture du fichier ?

    Si tu décides d'enregistrer ton fichier sous un autre nom, assure toi de  choisir l'extension de fichier .xlsm dans la liste déroulante pour le type de fichier dans la fenêtre "Enregistre sous".

    Private Sub Workbook_Open()

    Dim Refs As Object, Ref As Object

    On Error Resume Next

    With ThisDocument

        Set Refs = .VBProject.References

        For Each Ref In Refs

            If Ref.IsBroken Then

                Refs.Remove Ref

            End If

        Next

        .VBProject.References.AddFromGuid _

            "{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0

    End With

    End Sub

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire