Bibliothèque manquante

Bibliothèque manquante - VB/VBA/VBS - Programmation

Marsh Posté le 11-03-2013 à 16:09:07    

Bonjour,
Désolé, je replace ce topic dans 'vba'.
Je viens d'écrire une macro Vba dans Excel 2003 qui me permet d'envoyer automatiquement un mail à partir de Excel et par OutLook.  
Elle fonctionne bien dans Excel 2003. Mais, je partage ce fichier avec des personnes qui travaillent avec Excel  2010.  
Lorsqu'ils utilisent le même fichier, tout va bien, mais quand je le reprends, j'ai une bibliothèque manquante (cerlle de OutLook 2003).  
Je n'arrive pas à débugger mon fichier à l'ouverture avec Excel 2003, en passant par une macro auto_open.  
J'essaie dernièrement de supprimer la bibliothèque manqante avec 'Ref.isbroken et remove', mais 'Dim Ref as Reference' n'est pas reconnu à l'ouverture de la macro auto_open dans Excel 2010.  
Qu'en pensez-vous ?

Reply

Marsh Posté le 11-03-2013 à 16:09:07   

Reply

Marsh Posté le 11-03-2013 à 16:25:32    

 
           Bonjour.   Premier point important à vérifier :  
                          ceux travaillant en 2010 doivent après leurs modifications enregistrer le fichier sous le format 2003.
 
           Le teme bibliothèque me gêne un peu dans 2003, de quoi est-il réellement question ?
           Comment est-elle définie, via un menu Excel ou via le VBA (quelle méthode) ?
 
           Au passage, la macro Auto_Open est obsolète déjà depuis 2003, mieux vaut utiliser l'évènement de classeur Workbook_Open
 

Reply

Marsh Posté le 11-03-2013 à 17:03:05    

Bonjour Marc,
Les utilisateurs de Excel 2010 enregistrent simplement mon fichier par le menu 'enregistrer' et le fichier reste en xls.
Quand je rouvre ce fichier, les macros ne peuvent fonctionner du fait de 'MANQUANT : Microsoft Outlook 14.0 Object Library' dans les références VBAProject.
Je n'arrive pas à trouver une solution par programmation à mettre 'Microsoft Outlook 11.0 Object Library dans VBAProject.
J'ai essayé différentes macros proposées sur les sites internet, mais aucune ne fonctionne.
Sinon, à l'ouverture de Excel, je laisse faire VBA.
J'ai essayé WorkBook_open, mais j'ai le même résultat...

Reply

Marsh Posté le 11-03-2013 à 19:04:16    

 
           En fait il faudrait conditionner la version de la dll avec la version d'Excel.
           Cependant j'ai besoin de savoir comment est liée cette ressource Outlook au VBA, par un menu, par quelle méthode ?
 

Reply

Marsh Posté le 12-03-2013 à 09:21:40    

Bonjour,
Je ne sais pas ce que veux dire 'liée cette ressource Outlook au VBA'.
Du moins, pour faire tourner la macro suivant, j'ai coché 'Microsoft Outlook 11.0 Object Library' dans les références à la création de la macro dans Excel 2003 :
La macro :    '  Dim OutApp As Object
                     Dim OutMail As Object
                     Set OutApp = CreateObject("Outlook.Application" )
                     Set OutMail = OutApp.CreateItem(0)...
                          With OutMail
                          .To = "...."  :  .CC = ""  :  .BCC = ""  :  .Subject = Sujet
                          .HTMLBody = corps  :        
                         .Send
                      End With'
Ensuite, les utilisateurs de Excel 2010 ne font rien de spécial, 'Outlook 11.0' se transforme en 'Outlook 14.0'.
Dès que je reviens avec Excel 2003, Outlook 14.0 est signalée 'Manquante'.
Je peux décocher en manuel, mais je voudrais le faire en automatique à l'ouverture du fichier.

Reply

Marsh Posté le 12-03-2013 à 14:38:22    

 
           En clair, c'est via le menu Outils de l'environnement VBA ?  :sarcastic:  
 
           Pour tester la version d'Excel :  

     If Application.Version = 11 then  {…}  ElseIf  {…}


           Pour le reste, je n'en ai jamais eu besoin, là je manque de temps, je suppose qu'il faut creuser l'objet VBE, du genre
           Application.VBE.ActiveVBProject.References  ou  Application.VBE.ActiveVBProject.VBComponents  …
           J'espère que cela aidera à résoudre ce problème intéressant …
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed