Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres remplir auto. l'objet de l'email avec nom PJ dans Outlook (et si pas de pj alors aucun objet)

  • Initiateur de la discussion Initiateur de la discussion martine24
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

martine24

XLDnaute Occasionnel
Bonjour,
J'ai saisi le code suivant dans vba => projet =>microsoft outlook objets +> thisoutlooksession afin de remplir auto. l'objet de l'email avec nom de la pièce jointe dans outlook:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim Msg As MailItem
Dim Atmt As Attachment
Dim FileNames As String

If TypeOf Item Is MailItem Then
Set Msg = Item
FileNames = ""

For Each Atmt In Msg.Attachments
FileNames = FileNames & Atmt.FileName & "; "
Next Atmt

If FileNames <> "" Then
Msg.Subject = FileNames
End If
End If
End Sub

je rencontre cependant 2 petits soucis:
1- lorsque j'inclus une pj, dans l'objet il est bien indiqué une fois envoyé (et uniquement une fois envoyé) le nom de la pj mais également par ex : si c'est un doc pdf: nom de la pj.pdf; image001.jpg; si c'est un doc word: nom de la pj.docx; image001.jpg ou si c'est un doc excel: nom de la pj.xls; image001.jpg;
En conséquence comment faire pour avoir uniquement le nom de la pj dans l'objet mais rien d'autre après?
2- lorsque je n'envoi pas de pj, j'ai image001.jpg;
Comment indiquer aucun objet lorsque je ne mets aucun objet?

Une question subsidiaire:
Est il possible de décider sur tel compte de messagerie d'avoir ce process ci-dessus mais pas sur telle autre adresse par ex?

Merci par avance
Pour info j'utilise office pro plus 2021
 
Sylvanu:
En saissisant ton code j'ai :
- si pas de pj "objet du mail image001;" qui s'affiche
- si une pj alors ds l'objet j'ai : objet du mail nom du fichier; image001; qui s'affiche

Toofatboy:
- si pas de pj "image001.jpg" qui s'affiche
- si une pj alors ds l'objet j'ai : nom du fichier.pdf; image001;jpg; qui s'affiche

alors que je souhaite si pas de pj alors pas d'objet et si pj que le nom de la pj et rien d'autre.
Merci
 
En saissisant ton code j'ai :
- si pas de pj "objet du mail image001;" qui s'affiche
- si une pj alors ds l'objet j'ai : objet du mail nom du fichier; image001; qui s'affiche
1- Comme le terme "image001" n'est pas inventé par le VBA c'est qu'il vient d'ailleurs.
Dans votre outil mail n'avez vous pas une signature sous forme d'image qui s'appellerait "image001"
2- Essyez au pif :
VB:
If Filenames <> "" And Filename <> "image001" Then
    Msg.Subject = "Objet du mail " & Filenames
Else
    Msg.Subject = "Objet du mail"
End If
Msg.Subject = Replace(Msg.Subject, "image001", "")
Si ça, ça ne marche pas c'est que cela ne vient pas du VBA.
 
J'ai saisi ce code sylvanu :
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim Msg As MailItem
Dim Atmt As Attachment
Dim FileNames As String
If TypeOf Item Is MailItem Then
Set Msg = Item
FileNames = ""

For Each Atmt In Msg.Attachments
If Atmt.FileName <> "Image001" Then FileNames = FileNames & Atmt.FileName & "; "
Next Atmt

If FileNames <> "" And FileName <> "image001" Then
Msg.Subject = "Objet du mail " & FileNames
Else
Msg.Subject = "Objet du mail"
End If
Msg.Subject = Replace(Msg.Subject, "image001", "")
End If

End Sub


mais j'ai toujours ds l'objet du mail (si pas de pj) objet du mail .jpg;

J'ai effectivement une signature dans la plupart de mes mails par contre j'ai essayé avec une adresse mail qui n'a pas de signature et cela m'indique que objet du mail dans l'objet lorsque je ne mets pas de pj
 
Au post #2 je vous ai montré comment supprimer les extensions de type .PDF ou .job.
Or ce code n'est pas apparent dans votre macro donc évidemment l'extension est présente.
Comme ceci?

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim Msg As MailItem
Dim Atmt As Attachment
Dim FileNames As String
If TypeOf Item Is MailItem Then
Set Msg = Item
FileNames = ""

For Each Atmt In Msg.Attachments
FileNames = FileNames & Mid(Atmt.FileName, 1, Len(Atmt.FileName) - 4) & "; "
If Atmt.FileName <> "Image001" Then FileNames = FileNames & Atmt.FileName & "; "
Next Atmt

If FileNames <> "" And FileName <> "image001" Then
Msg.Subject = "Objet du mail " & FileNames
Else
Msg.Subject = "Objet du mail"
End If
Msg.Subject = Replace(Msg.Subject, "image001", "")
End If

End Sub
 
oui mais comme je l'ai précisé n'ayant pas de grosses connaissances ds le vba je demandais ce qu'il fallait entendre par anonymisé et représentatif ici?
Désolé mais je découvre le code vba 😉
C'est juste du français standard, n'ayant rien à voir avec VBA, et non des termes techniques spécifiques à Excel (à part "classeur" qui veut dire "fichier Excel").

Anonymisé = sans données personnelles (de qui que ce soit), uniquement des données "anonymes", inventées, etc.

Représentatif = qui reproduit les caractéristiques de ton vrai fichier (formes des tableaux, formats des cellules, etc.).
 
Dernière édition:
J'arrive encore à connaitre les définitions de ces 2 mots mais liées au code vba c'est un peu différent;
pour anonymisé vous évoquez ici peut être ByVal... ?

Je veux bien vous envoyer un classeur anonymisé et représentatif mais ma demande étant / outlook et ayant donc saisi alt+F11 dans outlook je ne comprends pas trop l'idée du classeur ici
 
Juste un dernier truc : si tu écris ton code VBA dans Outlook, alors tu t'es trompé de forum. Ici c'est pour Excel.

Le forum pour Outlook est là-bas :
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…