Bonjour,

Je dois actuellement développer une application excel permettant à l'utilisateur de choisir (parmi une liste prédéfinie) un mail type et que selon le mail type sélectionné, s'affiche des textbox pour que l'utilisateur remplisse les informations nécessaires pour remplir les parties du mail type qui contient des balises (exemple : #TEL) pour les remplacer par ce qu'il doit mettre. Voici un exemple de ce que j'ai fait

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
Private Sub ChoixMailType_Change()
 
'///////////////////////// 01 //////////////////
If ChoixMailType.Value = "01-ASTREINTE IM Samedi XX.oft" Then
    For Each Ctrl In Me.Controls
        If TypeName(Ctrl) = "Label" And Ctrl.Name <> "LabelJM01" And Ctrl.Name <> "LabelTel01" Then
            Ctrl.Visible = False
            Else
            If TypeName(Ctrl) = "TextBox" And Ctrl.Name <> "TextBoxJM01" And Ctrl.Name <> "TextBoxTel01" Then
                Ctrl.Visible = False
                Else
                If TypeName(Ctrl) = "ComboBox" And Ctrl.Name <> "ChoixMailType" Then
                    Ctrl.Visible = False
                    Else
                    If TypeName(Ctrl) = "CommandButton" And Ctrl.Name <> "Valider" Then
                        Ctrl.Visible = False
                        Else
                        Ctrl.Visible = True
                    End If
                End If
            End If
        End If
    Next Ctrl
End If
End Sub
Jusque la tout va bien, ce type de code ne me pose pas de problème.

Vient ensuite la partie mail, lorsque l'utilisateur a rentré ses données dans les textbox, il faut qu'il appuie sur le bouton valider.
J'avais déjà du gérer l'envoie de mail par vba, mais tout était créé en HTML, je pourrai procéder de la même façon sauf que j'ai 29 mails types donc impossible.

Voici le code (non fonctionnel) pour la partie mail. Ce que je veux que ce code fasse est que il ouvre le mail outlook en changeant les balises adéquates.

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
Private Sub Valider_Click()
 
Dim AD As String
 
AD = ThisWorkbook.Path & "\" & MailingType.ChoixMailType.Value 'MailingType étant le formulaire et ChoixMailType le combobox contenant la liste des mails types.
 
If ChoixMailType.Value = "01-ASTREINTE IM Samedi XX.oft" Then
    Set AppOtk = CreateObject(Outlook.Application) 'le bug est à cette ligne
    Set DocOft = AppOtk.Session.OpenSharedItem(AD)
 
    With DocOft
        .Bookmarks("#JM").Range.Text = TextBoxJM01.Value
        .Bookmarks("#TEl").Range.Text = TextBoxTel01.Value
    End With
End If
Unload Me
 
End Sub
En espérant avoir bien détaillé mon problème et que quelqu'un puisse m'apporter son savoir !

Merci !