Bonjour a tous,

J'ai réussi à l'aide des conversations déjà existantes sur le forum à créer un module permettant lors de l'appui sur un bouton :
-enregistrer le fichier excel
-de forcer l'ouverture d'outlook puis d'envoyer un mail
-de fermer excel

Et ce pour un ordinateur en32bit et une autre version pour les 64bit.
Pour associer la bonne exécution, selon la version de l'ordinateur, j'ai effectué une recherche pour retrouver le dossier permettant d'ouvrir outlook dans la version 64bit.
Or ma fonction If ... Then ... Else ... End If ne fonctionne pas.

C'est pourquoi je vous demande de l'aide.
En espérant avoir été assez clair ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Private Sub CommandButton2_Click()
 
ActiveWorkbook.Save
 
If Dir("C:\Program Files (x86)\", vbDirectory) = "" Then
    Shell "C:\Program Files (x86)\Microsoft Office\Office12\outlook.exe"
 
 
 
    'Sub UseOutlook()
        Dim MonOutlook As Object
        Dim MonMessage As Object
        ' On crée une instance d'Outlook :
        Set MonOutlook = CreateObject("Outlook.Application")
        ' Et on crée un élément Outlook, qui sera un message E-Mail :
        Set MonMessage = MonOutlook.CreateItem(0)
        MonMessage.To = "xxxxx.xxxxx@xxxxx.fr"
        MonMessage.Subject = "Erreur DXF"
        MonMessage.body = "Des modifications ont été apportées"
        MonMessage.send
        Set MonOutlook = Nothing ' On ferme !
        ActiveWorkbook.Close
 
Else
 
    Shell "C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE", 3
 
 
    'Sub UseOutlook()
        ' On crée une instance d'Outlook :
        Set MonOutlook = CreateObject("Outlook.Application")
        ' Et on crée un élément Outlook, qui sera un message E-Mail :
        Set MonMessage = MonOutlook.CreateItem(0)
        MonMessage.To = "xxxxx.xxxxx@xxxxx.fr"
        MonMessage.Subject = "Erreur DXF"
        MonMessage.body = "Des modifications ont été apportées"
        MonMessage.send
        Set MonOutlook = Nothing ' On ferme !
        ActiveWorkbook.Close
 
 
End If
 
End Sub
Merci !