Vérifier qu'une Object Library est installée

Bonjour

J'utilise une macro me permettant d'envoyer par mail un classeur Excel, et j'aimerais pouvoir utiliser cette macro sur d'autres ordi,

Seulement il faut à chaque (pour la première fois) aller dans l'editeur VBA et faire Outils, Référence, et ajouter Microsoft Outlook 12.0 Object Library.

J'aimerais savoir si on peut tester si ces libraires d'objets sont activés (car si elles ne le sont pas j'obtiens un message d'erreur) et si on peut activer cela par macro.

Merci.

Bonjour,

avec ces deux lignes de code, on peut charger cette référence, si Excel 2007 ou 2003

Si autres Excel, il faut chercher la référence dans le répertoire qui va bien, donc pas si simple....

Remarque, dans cet exemple, ce sont les chemins de mon PC, si chemins différents, même remarque que plus haut :

Private Sub Workbook_Open()
On Error Resume Next
ActiveWorkbook.VBProject.References.AddFromFile ("C:\Program Files\Microsoft Office\Office12\MSOUTL.OLB")
ActiveWorkbook.VBProject.References.AddFromFile ("C:\Program Files\Microsoft Office\Office11\MSOUTL.OLB")
If Err = 48 Then MsgBox "la référence n'a pas pu être chargée"
On Error GoTo 0
End Sub

Le code Erreur 48 signifie que la référence n'a pas été trouvée.

Un msgbox avertit, tu pourrais rajouter de chercher à la main MSOUTL.OLB, et de charger manuellement

Si le code est 32813, cela signifie que la référence est déjà chargée, ce qui provoquerait également une erreur d'où l'utilisation du On Error Resume Next

Le code est placé dans l'évènement Workbook_Open

Re-,

après quelques réflexions, et sachant que le fichier correspondant à la référence se trouve dans le même répertoire que l'application, avec ce code, on peut peut-être avoir une solution valable :

Private Sub Workbook_Open()
On Error Resume Next
ActiveWorkbook.VBProject.References.AddFromFile (Application.Path & "\MSOUTL.OLB")
If Err = 48 Then MsgBox "la référence n'a pas pu être chargée"
On Error GoTo 0
End Sub

Merci Félix ! Je vais tout dessuite tester cela !

EDIT : Ca fonctionne super bien !! j'ai mit des conditions pour vérifier la version d'Excel

If Val(Application.Version) = 8 Then 'Si Excel 97 Then
ActiveWorkbook.VBProject.References.AddFromFile (Application.Path & "11\MSOUTL.OLB")
Else
ActiveWorkbook.VBProject.References.AddFromFile (Application.Path & "\MSOUTL.OLB")
Rechercher des sujets similaires à "verifier object library installee"