Votre e-mail est clair mais manque de détails, comme l'endroit où se trouve l'e-mail. Oui, dans le corps, mais cela n'aide pas vraiment, c'est pourquoi j'ai créé une maquette de démonstration qui devrait être assez facile à suivre :
Supposons que l'e-mail que je reçois est dans le format suivant :
Cher Monsieur,
Nous avons reçu les détails suivants
E-mail : monEmail@domaine Téléphone : 12345
Nous vous contacterons
Cordialement
Le code VBA suivant trouvera l'adresse e-mail et ouvrira un nouvel e-mail avec cette adresse dans le champ "À" :
Sub MailItemContent2()
Dim olItem As Outlook.MailItem
Dim sText As String
Dim sEmail As String
Dim emailWords() As String
Set olItem = ActiveExplorer.Selection.Item(1)
sText = Replace(olItem.Body, vbCrLf, " ")
emailWords = Split(sText, " ")
Dim i As Integer
Dim emailIndex As Integer
emailIndex = -99
isNext = False
For i = 0 To UBound(emailWords)
If (emailIndex = i) Then
sEmail = Split(emailWords(i), Chr(34))(2)
Exit For
End If
If emailWords(i) = "E-mail :" Then
emailIndex = i + 2
End If
Next i
Set objMsg = Application.CreateItem(olMailItem)
With objMsg
.To = sEmail
'.CC = "nom@domaine.com"
'.BCC = "nom@domaine.com"
'.Subject = "Le sujet"
'.Categories = "Test"
'.VotingOptions = "Oui;Non;Peut-être;"
'.BodyFormat = olFormatPlain
'.Importance = olImportanceHigh
'.Sensitivity = olConfidential
.Display
End With
Set objMsg = Nothing
End Sub