Concaténation contenu cellule dans mail Outlook

Bonjour,

Tout d'abord bonne année 2019 à toutes et tous,

Dans le fichier ci-joint (feuille "Bon_de_commande"), j'ai créé des boutons ("CRF" / "INFORMATIQUE" / "LOGISTIQUE" / "INITIALE" / "MODIFICATION" et "ANNULATION". Ces boutons me permettent d'envoyer des mails via Outlook.

Pour plus de simplicité dans mes explications, je vais prendre l'exemple avec le bouton "CRF". Dans le code VBA attribué à ce bouton, je souhaiterais concaténer le contenu de la cellule "B1", soit le numéro de référence interne de chaque commande, derrière le "n°" contenu dans l'objet et dans le corps du message du code VBA !

Exemple : Si mon n° de référence interne est 5, et bien dans l'objet de mon message Outlook j'aurai "Approbation bon de commande n°5" et pour le corps du message : "Ci-joint, le bon de commande n°5 pour approbation."

Un grand merci par avance pour votre aide.

Mickaël

Bonjour,

Ceci peut être ?

myItem.Body = "Bonjour," & vbCrLf & "" & vbCrLf & "Ci-joint, le bon de commande n° " & Range("B1").Value & " pour approbation." & vbCrLf & "" & vbCrLf & "Merci !"

Bonjour,

j'ai essayé cela mais sans succès !

Ce n'est pas possible que ça ne marche pas !

Sinon, testes ceci :

Sub Test()

    Dim Chaine As String

    Chaine = "Bonjour," & vbCrLf & "" & vbCrLf & "Ci-joint, le bon de commande n° " & Range("B1").Value & " pour approbation." & vbCrLf & "" & vbCrLf & "Merci !"
    MsgBox Chaine

End Sub

bien évidemment, si il n'y a pas de numéro en B1 il n'y aura pas de numéro dans la chaîne !

Bonjour,

Comment insérez-vous votre code dans celui que je possède ?

Je remarque également que le "n°" de l'objet n'apparaît pas lorsque je lance mon message ?

Merci à vous !

Remplaces ton code par celui-ci-dessous et testes, chez moi ça fonctionne :

Sub Bouton_Service_CRF_Cliquer()

    Dim Chaine As String

    Chaine = "Bonjour," & vbCrLf & "" & vbCrLf & "Ci-joint, le bon de commande n° " & Range("B1").Value & " pour approbation." & vbCrLf & "" & vbCrLf & "Merci !"
    MsgBox Chaine 'le message pour test

    Set myApp = CreateObject("Outlook.Application")
    Set myItem = myApp.CreateItem(olMailItem)

    myItem.Subject = "Approbation bon de commande n° " & Range("B1").Value & "."
    myItem.Body = Chaine
    myItem.Attachments.Add ActiveWorkbook.FullName
    myItem.To = "mickael.walet@cnfpt.fr"
    myItem.CC = ""
    myItem.Display

End Sub

Bonjour,

J'ai trouvé le problème.

Ton code fonctionne.

Seulement mes boutons sont des formes insérées est non des boutons de contrôle...

Avec un bouton de contrôle, ton code fonctionne.

Si cela pose problème, avec des formes, je vais simplement les remplacer par des boutons

Merci !

Pas la peine d'utiliser des boutons de commande, tu nommes ta procédure comme ceci par exemple :

Sub Service_CRF()

    Dim Chaine As String

    Chaine = "Bonjour," & vbCrLf & "" & vbCrLf & "Ci-joint, le bon de commande n° " & Range("B1").Value & " pour approbation." & vbCrLf & "" & vbCrLf & "Merci !"
    MsgBox Chaine 'le message pour test

    Set myApp = CreateObject("Outlook.Application")
    Set myItem = myApp.CreateItem(olMailItem)

    myItem.Subject = "Approbation bon de commande n° " & Range("B1").Value & "."
    myItem.Body = Chaine
    myItem.Attachments.Add ActiveWorkbook.FullName
    myItem.To = "mickael.walet@cnfpt.fr"
    myItem.CC = ""
    myItem.Display

End Sub

puis clic droit sur ta forme et choisir "Affecter une macro..." et tu choisis "Service_CRF"

Nickel ça marche !

Un grand merci.

Bonne fin de journée !

Content de t'avoir aidé

Rechercher des sujets similaires à "concatenation contenu mail outlook"