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

mail transféré récupérer le 1er expéditeur

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • 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 !

C@thy

XLDnaute Barbatruc
Bonjour le forum (ou bonsouarrrr)

Dans le cas d'un mail transféré, je récupère le nom de l'expéditeur précédent comme ceci :

Code:
If Left(OLmail.Subject, 2) = "TR" Then 'mail transféré on récupère le nom de l'émetteur précédent
                 MaString = OLmail.Body
                 I = InStr(1, MaString, vbCrLf & "De" & Chr(160) & ": ")
                 MaString = Mid(MaString, I + 7, Len(MaString) - I - 6)
                 j = InStr(1, MaString, vbCrLf & "Envoyé" & Chr(160) & ": ")
                 If j = 0 Then GoTo suit
                    MaString = Left(MaString, j - 1)
                    AdressMail = Trim(MaString)

cela marche bien,
mais...
il peut y avoir plusieurs expéditeurs si le mail a été transféré plusieurs fois (j'ai eu le cas jusqu'à 4),
dans ce cas je dois chercher le dernier nom situé entre le dernier de : et le dernier envoyé :
Comment puis-je modifier ma macro pour boucler jusqu'au dernier???

Merci à vous et bises du souar...

C@thy
 
Re : mail transféré récupérer le 1er expéditeur

Merci kiki29,

j'ai effectivement déjà créé une boucle sur tous les e-mails de ma boîte,
mais ma question est différente : boucler à l'intérieur du corps du message pour trouver le nom qui figure entre De : et Envoyé :

entre temps, j'ai écrit ceci :

Code:
z = 0
      If Left(OLmail.Subject, 2) = "TR" Then 'mail transféré on récupère le nom de l'émetteur précédent
         For T = 1 To 4
                 z = I + 10
                 MaString = OLmail.Body
                 I = InStr(z, MaString, vbCrLf & "De" & Chr(160) & ": ")
                 MaString = Mid(MaString, I + 7, Len(MaString) - I - 6)
                 If I = 0 Then GoTo suit   'ou exit for
                 j = InStr(1, MaString, vbCrLf & "Envoyé" & Chr(160) & ": ")
                 MaString = Left(MaString, j - 1)
                    AdressMail = Trim(MaString)
          Next T
suit :

mais je pense que, comme d'habitude, j'écris 10000 lignes de code là où une seule suffirait...😱

Edit : j'en profite pour dire que je dois également récupérer la date du mail initial (qui se trouve après le dernier "Envoyé :")

Bises matinales

C@thy
 
Dernière édition:
- 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

Discussions similaires

O
Réponses
12
Affichages
6 K
olivier974s
O
Réponses
7
Affichages
1 K
L
Réponses
4
Affichages
4 K
LAMULE
L
C
Réponses
0
Affichages
2 K
CALIDENIS
C
N
  • Question Question
Réponses
5
Affichages
3 K
T
Réponses
1
Affichages
5 K
tibtelcom
T
A
Réponses
2
Affichages
992
Angy1105
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…