desactiver par vba une reference de la bibliotheque

  • Initiateur de la discussion Initiateur de la discussion fredl
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fredl

XLDnaute Impliqué
Bonjour à tous,
J'ai un fichier excel avec macros qui doit successivement etre utilisé par 2 PC. Le premier avec office2010 puis le 2eme avec office 2003 (et malheureusement pas l'inverse...)
Je rencontre donc des problèmes de fonctionnement liés aux references (de la bibliothèque de ref sous vba)necessaires à son bon fonctionnement.
Quels conseils préconisez vous dans cette situation?
je pensais désactiver les ref à la fermeture du fichier sous 2010 et reactiver les refs sous 2003
j'ai testé le code :
nomRef = "C:\Program Files\MicrosoftOffice\Office14\MSWORD.OLB"
ThisWorkbook.VBProject.References.AddFromFile nomRef
ou ThisWorkbook.VBProject.References.Remove nomRef
mais cela ne marche pas et le message d'erreur suivant apparait :
"L'acces par programme au projet visual basic n'est pas fiable"...

Merci d'avance pour tous vos conseils qui j'espère m'aideront à me sortir de cette impasse.

Cordialement

Frédéric
 
Re : desactiver par vba une reference de la bibliotheque

Salut Michel et kjin ,
merci pour vos conseils,
Pour ce qui est du tien ,Michel, en fait j'étais parti de ces infos sur le forum...
Quand à ton conseil, kjin, je ne vois pas à quoi cela correspond dans excel/Sécurité : pas de cochage possible "Faire confiance au projet dans le menu sécurité des macros...
je ne m'en sort pas...
je crois que je suis mal.
Si vous voyez autre chose.
En tous les cas, merci pour votre aide.
Cordialement.
Fred
 
Re : desactiver par vba une reference de la bibliotheque

Re Fredl, Bonjour Kjin

En fait, il faut cocher sous XL2010 ces paramètres (voir images de XL2007, mais cela doit être pareil sous 2010). Par contre sur XL2003, je ne sais plus 😱.
 

Pièces jointes

  • Options_Macros_XL2007.jpg
    Options_Macros_XL2007.jpg
    31 KB · Affichages: 370
Re : desactiver par vba une reference de la bibliotheque

Bonjour fredl, Bonjour kjin, Bonjour Michel,

Sur XL2003, c'est dans
Menu Outils-Macros-Sécurité
Onglet Editeurs approuvés
Cocher Faire confiance au projet Visual Basic,

Pas vu le lien vers le site de Fredéric Sigonneau, mais pour éviter le problème des références entre plusieurs versions d'Excel (et donc les versions des références qui changent), le mieux est de les décocher et de faire appel aux objets au travers l'instruction CreateObject

Par exemple, remplacer le code là qui nécessite la référence Microsoft Word XX.X Object Library

Code:
Sub AppelWord()
Dim WordApp As New Word.Application
    WordApp.Visible = True
    With WordApp
        .Documents.Add
        If .ActiveWindow.ActivePane.View.Type = wdNormalView Or .ActiveWindow.ActivePane.View.Type = wdOutlineView Then
            .ActiveWindow.ActivePane.View.Type = wdPrintView
        End If
        .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    End With
    Set WordApp = Nothing
End Sub

par le code là qui ne necéssite aucune référence

Code:
Sub AppelWord()
Dim WordApp As Object
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    With WordApp
        .Documents.Add
        If .ActiveWindow.ActivePane.View.Type = 1 Or .ActiveWindow.ActivePane.View.Type = 2 Then
            .ActiveWindow.ActivePane.View.Type = 3
        End If
        .ActiveWindow.ActivePane.View.SeekView = 9
    End With
    Set WordApp = Nothing
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour