Mise en forme d'un mail
Bonjour à tout le monde !
Je me lance dans la grande aventure de la VBA et je rencontre une première difficulté :
lorsque je renseigne une date/heure (format cellule j/m/aa h:mm) en H5
code vba : Texte = Texte & "Date, heure et lieu de départ : " + [H5] + [""] + [G5] & vbCrLf
ou encore un chiffre en D5:
Texte = Texte & "Numéro de portable permettant d'être joint pendant la mission : " + [D5] & vbCrLf
Je reçois un message d'erreur :problème d'incompatibilité, je me doute que le problème vient d'ci : Texte = Texte &, mais je ne vois pas comment je peux contourner ce problème.
Voici mon code complet :
Sub SendMail_Outlook()
Dim ol As Object
Dim olmail As Object
Dim Texte As String
Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)
With olmail
.To = ""
.cc = ""
.Body = "ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM" & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Ordre de mission concernant le déplacement de : " + [B5] & vbCrLf
Texte = Texte & "Pays du déplacement : " + [E5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Date, heure et lieu de départ : " + [H5] + [""] + [G5] & vbCrLf
Texte = Texte & "Escales éventuelle : " + [I5] + [""] + [J5] & vbCrLf
Texte = Texte & "Date, heure et lieu d'arrivée : " + [L5] + [""] + [K5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Date, heure et lieu de retour : " + [N5] + [""] + [M5] & vbCrLf
Texte = Texte & "Escales éventuelles : " + [O5] + [""] + [P5] & vbCrLf
Texte = Texte & "Date, heure et lieu d'arrivée : " + [R5] + [""] + [Q5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Date de retour prévue au bureau : " & vbCrLf
Texte = Texte & "Lieu de destination final (et étapes locales éventuelles) : " + [F5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Nom de l'hôtel ou du lieu de séjour : " + [S5] & vbCrLf
Texte = Texte & "Téléphone et fax de l'hôtel ou du lieu de séjour : " + [T5] & vbCrLf
Texte = Texte & "Numéro de portable permettant d'être joint pendant la mission : " + [D5] & vbCrLf
Texte = Texte & "Nom de l'affaire : " + [A5] & vbCrLf
Texte = Texte & "Numéro de l'affaire : " + [A5] & vbCrLf
Texte = Texte & "But de la mission : NC" & vbCrLf
Texte = Texte & "Commentaires : " & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM" & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "NB : l'absence d'objection à cet ordre de mission de la part du DUN (pour une mission sur l'affaire ou offre) ou de la DG (pour une mission hors affaire ou offre) ou de leur délégataire, avant le jour prévu pour le départ, vaudra approbation par celui-ci de la mission planifiée."
.Subject = "ODM " + [C5] + "" + [E5] & vbCrLf
.Body = Texte
.Display
End With
End Sub
Merci merci merci merci et encore merci aux personnes qui m'aideront à trouver une solution !
Bonjour,
macro corrigée, à tester
Sub SendMail_Outlook()
Dim ol As Object
Dim olmail As Object
Dim Texte As String
Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)
With olmail
.To = ""
.cc = ""
.Body = "ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM" & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Ordre de mission concernant le déplacement de : " & [B5] & vbCrLf
Texte = Texte & "Pays du déplacement : " & [E5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Date, heure et lieu de départ : " & [H5] & " " & [G5] & vbCrLf
Texte = Texte & "Escales éventuelle : " & [I5] & " " & [J5] & vbCrLf
Texte = Texte & "Date, heure et lieu d'arrivée : " & [L5] & " " & [K5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Date, heure et lieu de retour : " & [N5] & " " & [M5] & vbCrLf
Texte = Texte & "Escales éventuelles : " & [O5] & " " & [P5] & vbCrLf
Texte = Texte & "Date, heure et lieu d'arrivée : " & [R5] & " " & [Q5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Date de retour prévue au bureau : " & vbCrLf
Texte = Texte & "Lieu de destination final (et étapes locales éventuelles) : " & [F5] & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "Nom de l'hôtel ou du lieu de séjour : " & [S5] & vbCrLf
Texte = Texte & "Téléphone et fax de l'hôtel ou du lieu de séjour : " & [T5] & vbCrLf
Texte = Texte & "Numéro de portable permettant d'être joint pendant la mission : " & [D5] & vbCrLf
Texte = Texte & "Nom de l'affaire : " & [A5] & vbCrLf
Texte = Texte & "Numéro de l'affaire : " & [A5] & vbCrLf
Texte = Texte & "But de la mission : NC" & vbCrLf
Texte = Texte & "Commentaires : " & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM - ODM" & vbCrLf
Texte = Texte & "" & vbCrLf
Texte = Texte & "NB : l'absence d'objection à cet ordre de mission de la part du DUN (pour une mission sur l'affaire ou offre) ou de la DG (pour une mission hors affaire ou offre) ou de leur délégataire, avant le jour prévu pour le départ, vaudra approbation par celui-ci de la mission planifiée."
.Subject = "ODM " & [C5] & " " & [E5] & vbCrLf
.Body = Texte
.Display
End With
End SubC'est parfait !!! Un grand merci !! j'éviterai les "+" à l'avenir