Pd dans Envoi de mail via vba

Sly le globe trotter

XLDnaute Occasionnel
Bonjour le forum,

ma recherche dans le forum n'ayant rien donné, je me permets de poser la question ouvertement...
Je souhaite envoyer un mail depuis Excel mais j'ai un petit souci pour le corps du message.

Je souhaiterais afficher plusieurs lignes mais ne connait la procédure à suivre...

Voici mon code :
Code:
Sub EnvoiResult()

If Sheets("Résultat").Range("g11") <> "" Then
    Dim HyperLien, Objet, Corps, PJ As String
    
    If Mid(Sheets("Demande").Range("m2"), 4, 3) = "MCD" Or Mid(Sheets("Demande").Range("m2"), 4, 3) = "JPO" Then
        Objet = "DTL - Balles : " & Mid(Sheets("Demande").Range("m2"), 1, 16)
    Else
        Objet = "DTL - Balles : " & Mid(Sheets("Demande").Range("m2"), 1, 15)
    End If
    
    Corps = ""
    Corps = Corps & "La demande " & ActiveWorkbook.Name & " a été traitée." & vbCrLf
    Corps = Corps & "Les résultats sont consultables dans la base de données et/ou le fichier Excel."
    Corps = Corps & "" & vbCrLf
    Corps = Corps & "Bon développement" ' & vbCrLf
        
    Corps = Application.WorksheetFunction.Substitute(Corps, vbCrLf, "%0D%0A")
    
    If Mid(Sheets("Demande").Range("m2"), 4, 2) = "MC" Then
        ad = "zzz@aaa.com"
    ElseIf Mid(Sheets("Demande").Range("m2"), 4, 2) = "JP" Then
        ad = "www@aaa.com"
     Else
        ad = ""
    End If
    
    HyperLien = "mailto:" & ad & "?cc=" & copie
    HyperLien = HyperLien & "&Subject=" & Objet & " (à " & Time() & ")"
    HyperLien = HyperLien & "&Body=" & Corps
    ActiveWorkbook.FollowHyperlink HyperLien
Else
    MsgBox ("Visa non renseigné")
End If

End Sub

Tout marche bien, sauf le corps du message. Je n'arrive pas à afficher ce que je souhaite. J'ai une fenêtre d'erreur qui s'ouvre avec le message suivant "Erreur de traitement des arguments des lignes de commande".

SI je ne cherche à afficher que la première ligne, celà fonctionne.
Auriez vous une idée du chainon manquant ?

Merci pour votre aide !
 

pierrejean

XLDnaute Barbatruc
Re : Pd dans Envoi de mail via vba

bonjour Sly

pour tester j'a mis en commentaires quelques lignes et

ça marche !!!

je presume donc que si erreur il y a elle se situe dans ce que je ne peux tester

Code:
Sub EnvoiResult()
'If Sheets("Résultat").Range("g11") <> "" Then
    Dim HyperLien, Objet, Corps, PJ As String
    
    'If Mid(Sheets("Demande").Range("m2"), 4, 3) = "MCD" Or Mid(Sheets("Demande").Range("m2"), 4, 3) = "JPO" Then
        Objet = "DTL - Balles : " '& Mid(Sheets("Demande").Range("m2"), 1, 16)
    'Else
        'Objet = "DTL - Balles : " & Mid(Sheets("Demande").Range("m2"), 1, 15)
    'End If
    
    Corps = ""
    Corps = Corps & "La demande " & ActiveWorkbook.Name & " a été traitée." & vbCrLf
    Corps = Corps & "Les résultats sont consultables dans la base de données et/ou le fichier Excel."
    Corps = Corps & "" & vbCrLf
    Corps = Corps & "Bon développement" ' & vbCrLf
        
    Corps = Application.WorksheetFunction.Substitute(Corps, vbCrLf, "%0D%0A")
    
    'If Mid(Sheets("Demande").Range("m2"), 4, 2) = "MC" Then
        ad = "[EMAIL="zzz@aaa.com"]zzz@aaa.com[/EMAIL]"
    'ElseIf Mid(Sheets("Demande").Range("m2"), 4, 2) = "JP" Then
       ' ad = "[EMAIL="www@aaa.com"]www@aaa.com[/EMAIL]"
    ' Else
        ad = ""
    'End If
    
    HyperLien = "mailto:" & ad & "?cc=" & copie
    HyperLien = HyperLien & "&Subject=" & Objet & " (à " & Time() & ")"
    HyperLien = HyperLien & "&Body=" & Corps
    ActiveWorkbook.FollowHyperlink HyperLien
'Else
   ' MsgBox ("Visa non renseigné")
'End If
End Sub
 

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
2
Affichages
203

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa