Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro qui recupère les accusés de reception sur outlook

23 réponses
Avatar
JBF
Bonjour,

J'aimerais avoir une macro qui récupère les accusés de réception sur
Outlook.

Concrètement,
Colonne A = les adresses mails
Colonne B= les AR correspondants aux adresses mails.

Idéalement pensez-vous qu'il soit possible d'avoir ds la colonne B les
intitulés des AR comme dans Outlook du type
LU
NON LU
etc.

Donc, si qq un à connaissance d'un tutorial ou d'un lien quelconque je suis
preneur.

Merci et bon week-end

JBF

10 réponses

1 2 3
Avatar
Daniel.C
Essaie avec cette syntaxe :

Sub LireAR2()
Dim OlApp As Object, NS As Namespace, Dossier As Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub


Désolé mais ça ne marche toujours pas.

On est d'accord que j'ai :
1/ coché la case en question dans références
2/ Outlook 2003
3/ Copié la macro sans rien modifier
4/ Inséré un bouton sur la feuille1 de "LectureAR.xls"
5/ En colonne "A" les adresses mails pour lesquelles je souhaite connaitre
les AR.

En faisant tout ça j'ai toujours la même erreur avec ta nouvelle macro sur la
première ligne :
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As Folder

JBF



"Daniel.C" a écrit dans le message de news:
uDI$
Pour les A/R, essaie :

Sub LireAR2()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
Set Var = Dossier.Items
Set t = Dossier.Items(1)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub

Daniel

Oups.
La macro fonctionne pour les confirmations de lecture. Je modifie.
Daniel

Bonjour.
Dans la fenêtre VBE, clique sur les menus Outils / Références; coche
"Microsoft Outlook xx.xx Object Library".
Ce n'est pas évident que cela fonctionne avec une version antérieure à
Outlook 2003.
Colle ensuite le code suivant dans un module standard :

Sub LireAR()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderInbox)
Set Var = Dossier.Items
Set t = Dossier.Items(6)
r = Dossier.Items(6).Class
For i = 1 To Dossier.Items.Count
If Dossier.Items(i).Class = 46 Then
b = Dossier.Items(i).Body
For Each c In [A:A]
If InStr(1, Dossier.Items(i).Body, c) > 0 Then
If Dossier.Items(i).UnRead = False Then
c.Offset(, 1) = "LU"
End If
Exit For
End If
Next c
End If
Next i
End Sub

Par contre, comment détecter qu'un mail est "non lu". Soit le
destinataire envoie un AR de lecture, soit on ne reçoit rien ?
Daniel

bonjour,

Je n'ai, à priori, pas besoin du temps réel. Je peux me contenter de
lancer une macro pour récupérer les infos.

As-tu une solution sous la main?

Merci

JBF


"Daniel.C" a écrit dans le message de news:
%
Bonjour.
Est-ce que tu veux les récupérer en temps réél, ou quand tu lances ta
macro ?
Cordialement.
Daniel

Bonjour,

J'aimerais avoir une macro qui récupère les accusés de réception sur
Outlook.

Concrètement,
Colonne A = les adresses mails
Colonne B= les AR correspondants aux adresses mails.

Idéalement pensez-vous qu'il soit possible d'avoir ds la colonne B les
intitulés des AR comme dans Outlook du type
LU
NON LU
etc.

Donc, si qq un à connaissance d'un tutorial ou d'un lien quelconque je
suis preneur.

Merci et bon week-end

JBF
















Avatar
JBF
Désolé!

je ne comprends pas où je peux me tromper mais j'ai toujours la même erreur
même avec cette nouvelle syntaxe.

l'erreur surligne sur la première ligne : Dossier as Folder et quand je
clique sur OK sur le message d'erreur ça surligne en jaune : Sub LireAR2().

C'est bien une macro que je dois "coller" sur un bouton dans la feuille1 de
mon Classeur Excel sur lequel je clique pour qu'il aille chercher dans
outlook les AR qui correspondent aux adresses mail de la colonne A?

je n'ai rien à modifier sur la macro? Nul part je dois préciser le nom de ma
feuille ou de mon classeur.xls?

JBF


"Daniel.C" a écrit dans le message de news:

Essaie avec cette syntaxe :

Sub LireAR2()
Dim OlApp As Object, NS As Namespace, Dossier As Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub


Désolé mais ça ne marche toujours pas.

On est d'accord que j'ai :
1/ coché la case en question dans références
2/ Outlook 2003
3/ Copié la macro sans rien modifier
4/ Inséré un bouton sur la feuille1 de "LectureAR.xls"
5/ En colonne "A" les adresses mails pour lesquelles je souhaite
connaitre les AR.

En faisant tout ça j'ai toujours la même erreur avec ta nouvelle macro
sur la première ligne :
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As Folder

JBF



"Daniel.C" a écrit dans le message de news:
uDI$
Pour les A/R, essaie :

Sub LireAR2()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
Set Var = Dossier.Items
Set t = Dossier.Items(1)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub

Daniel

Oups.
La macro fonctionne pour les confirmations de lecture. Je modifie.
Daniel

Bonjour.
Dans la fenêtre VBE, clique sur les menus Outils / Références; coche
"Microsoft Outlook xx.xx Object Library".
Ce n'est pas évident que cela fonctionne avec une version antérieure à
Outlook 2003.
Colle ensuite le code suivant dans un module standard :

Sub LireAR()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderInbox)
Set Var = Dossier.Items
Set t = Dossier.Items(6)
r = Dossier.Items(6).Class
For i = 1 To Dossier.Items.Count
If Dossier.Items(i).Class = 46 Then
b = Dossier.Items(i).Body
For Each c In [A:A]
If InStr(1, Dossier.Items(i).Body, c) > 0 Then
If Dossier.Items(i).UnRead = False Then
c.Offset(, 1) = "LU"
End If
Exit For
End If
Next c
End If
Next i
End Sub

Par contre, comment détecter qu'un mail est "non lu". Soit le
destinataire envoie un AR de lecture, soit on ne reçoit rien ?
Daniel

bonjour,

Je n'ai, à priori, pas besoin du temps réel. Je peux me contenter de
lancer une macro pour récupérer les infos.

As-tu une solution sous la main?

Merci

JBF


"Daniel.C" a écrit dans le message de news:
%
Bonjour.
Est-ce que tu veux les récupérer en temps réél, ou quand tu lances
ta macro ?
Cordialement.
Daniel

Bonjour,

J'aimerais avoir une macro qui récupère les accusés de réception
sur Outlook.

Concrètement,
Colonne A = les adresses mails
Colonne B= les AR correspondants aux adresses mails.

Idéalement pensez-vous qu'il soit possible d'avoir ds la colonne B
les intitulés des AR comme dans Outlook du type
LU
NON LU
etc.

Donc, si qq un à connaissance d'un tutorial ou d'un lien quelconque
je suis preneur.

Merci et bon week-end

JBF




















Avatar
Daniel.C
Au temps pour moi :

Sub LireAR2()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub

Daniel

Désolé!

je ne comprends pas où je peux me tromper mais j'ai toujours la même erreur
même avec cette nouvelle syntaxe.

l'erreur surligne sur la première ligne : Dossier as Folder et quand je
clique sur OK sur le message d'erreur ça surligne en jaune : Sub LireAR2().

C'est bien une macro que je dois "coller" sur un bouton dans la feuille1 de
mon Classeur Excel sur lequel je clique pour qu'il aille chercher dans
outlook les AR qui correspondent aux adresses mail de la colonne A?

je n'ai rien à modifier sur la macro? Nul part je dois préciser le nom de ma
feuille ou de mon classeur.xls?

JBF


"Daniel.C" a écrit dans le message de news:

Essaie avec cette syntaxe :

Sub LireAR2()
Dim OlApp As Object, NS As Namespace, Dossier As Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub


Désolé mais ça ne marche toujours pas.

On est d'accord que j'ai :
1/ coché la case en question dans références
2/ Outlook 2003
3/ Copié la macro sans rien modifier
4/ Inséré un bouton sur la feuille1 de "LectureAR.xls"
5/ En colonne "A" les adresses mails pour lesquelles je souhaite connaitre
les AR.

En faisant tout ça j'ai toujours la même erreur avec ta nouvelle macro sur
la première ligne :
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As Folder

JBF



"Daniel.C" a écrit dans le message de news:
uDI$
Pour les A/R, essaie :

Sub LireAR2()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
Set Var = Dossier.Items
Set t = Dossier.Items(1)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub

Daniel

Oups.
La macro fonctionne pour les confirmations de lecture. Je modifie.
Daniel

Bonjour.
Dans la fenêtre VBE, clique sur les menus Outils / Références; coche
"Microsoft Outlook xx.xx Object Library".
Ce n'est pas évident que cela fonctionne avec une version antérieure à
Outlook 2003.
Colle ensuite le code suivant dans un module standard :

Sub LireAR()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderInbox)
Set Var = Dossier.Items
Set t = Dossier.Items(6)
r = Dossier.Items(6).Class
For i = 1 To Dossier.Items.Count
If Dossier.Items(i).Class = 46 Then
b = Dossier.Items(i).Body
For Each c In [A:A]
If InStr(1, Dossier.Items(i).Body, c) > 0 Then
If Dossier.Items(i).UnRead = False Then
c.Offset(, 1) = "LU"
End If
Exit For
End If
Next c
End If
Next i
End Sub

Par contre, comment détecter qu'un mail est "non lu". Soit le
destinataire envoie un AR de lecture, soit on ne reçoit rien ?
Daniel

bonjour,

Je n'ai, à priori, pas besoin du temps réel. Je peux me contenter de
lancer une macro pour récupérer les infos.

As-tu une solution sous la main?

Merci

JBF


"Daniel.C" a écrit dans le message de news:
%
Bonjour.
Est-ce que tu veux les récupérer en temps réél, ou quand tu lances ta
macro ?
Cordialement.
Daniel

Bonjour,

J'aimerais avoir une macro qui récupère les accusés de réception sur
Outlook.

Concrètement,
Colonne A = les adresses mails
Colonne B= les AR correspondants aux adresses mails.

Idéalement pensez-vous qu'il soit possible d'avoir ds la colonne B
les intitulés des AR comme dans Outlook du type
LU
NON LU
etc.

Donc, si qq un à connaissance d'un tutorial ou d'un lien quelconque
je suis preneur.

Merci et bon week-end

JBF






















Avatar
JBF
Effectivement ça marche mieux comme ça! ;)
Merci

Une petite question tout de même et ensuite je te laisse avant de revenir
après avoir fait une série d'essais pour valider cette macro:

If Dossier.Items(i).UnRead = False Then : ça signifie que je n'aurai aucun
AR ds Excel si le destinataire supprime mon mail sans même l'avoir ouvert?
Si oui, je voudrais avoir un AR "NON LU" à la place de rien si c'est
possible.

Merci

JBF

Ps: tant que j'y suis, j'ai posté une demande pour appliquer une macro à
toute une colonne. j'ai mis les 4 ou 5 lignes de ma macro, est ce que tu
peux y jeter un oeil tant qu'on y est please?

Merci beaucoup


"Daniel.C" a écrit dans le message de news:

Au temps pour moi :

Sub LireAR2()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub

Daniel

Désolé!

je ne comprends pas où je peux me tromper mais j'ai toujours la même
erreur même avec cette nouvelle syntaxe.

l'erreur surligne sur la première ligne : Dossier as Folder et quand je
clique sur OK sur le message d'erreur ça surligne en jaune : Sub
LireAR2().

C'est bien une macro que je dois "coller" sur un bouton dans la feuille1
de mon Classeur Excel sur lequel je clique pour qu'il aille chercher dans
outlook les AR qui correspondent aux adresses mail de la colonne A?

je n'ai rien à modifier sur la macro? Nul part je dois préciser le nom de
ma feuille ou de mon classeur.xls?

JBF


"Daniel.C" a écrit dans le message de news:

Essaie avec cette syntaxe :

Sub LireAR2()
Dim OlApp As Object, NS As Namespace, Dossier As Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub


Désolé mais ça ne marche toujours pas.

On est d'accord que j'ai :
1/ coché la case en question dans références
2/ Outlook 2003
3/ Copié la macro sans rien modifier
4/ Inséré un bouton sur la feuille1 de "LectureAR.xls"
5/ En colonne "A" les adresses mails pour lesquelles je souhaite
connaitre les AR.

En faisant tout ça j'ai toujours la même erreur avec ta nouvelle macro
sur la première ligne :
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder

JBF



"Daniel.C" a écrit dans le message de news:
uDI$
Pour les A/R, essaie :

Sub LireAR2()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier As
Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
Set Var = Dossier.Items
Set t = Dossier.Items(1)
For i = 1 To Dossier.Items.Count
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
Next i
End Sub

Daniel

Oups.
La macro fonctionne pour les confirmations de lecture. Je modifie.
Daniel

Bonjour.
Dans la fenêtre VBE, clique sur les menus Outils / Références; coche
"Microsoft Outlook xx.xx Object Library".
Ce n'est pas évident que cela fonctionne avec une version antérieure
à Outlook 2003.
Colle ensuite le code suivant dans un module standard :

Sub LireAR()
Dim OlApp As New Outlook.Application, NS As Namespace, Dossier
As Folder
Dim OlExp As Outlook.Explorer
Dim m As MailItem, i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlApp = Outlook.Application
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderInbox)
Set Var = Dossier.Items
Set t = Dossier.Items(6)
r = Dossier.Items(6).Class
For i = 1 To Dossier.Items.Count
If Dossier.Items(i).Class = 46 Then
b = Dossier.Items(i).Body
For Each c In [A:A]
If InStr(1, Dossier.Items(i).Body, c) > 0 Then
If Dossier.Items(i).UnRead = False Then
c.Offset(, 1) = "LU"
End If
Exit For
End If
Next c
End If
Next i
End Sub

Par contre, comment détecter qu'un mail est "non lu". Soit le
destinataire envoie un AR de lecture, soit on ne reçoit rien ?
Daniel

bonjour,

Je n'ai, à priori, pas besoin du temps réel. Je peux me contenter
de lancer une macro pour récupérer les infos.

As-tu une solution sous la main?

Merci

JBF


"Daniel.C" a écrit dans le message de
news: %
Bonjour.
Est-ce que tu veux les récupérer en temps réél, ou quand tu lances
ta macro ?
Cordialement.
Daniel

Bonjour,

J'aimerais avoir une macro qui récupère les accusés de réception
sur Outlook.

Concrètement,
Colonne A = les adresses mails
Colonne B= les AR correspondants aux adresses mails.

Idéalement pensez-vous qu'il soit possible d'avoir ds la colonne
B les intitulés des AR comme dans Outlook du type
LU
NON LU
etc.

Donc, si qq un à connaissance d'un tutorial ou d'un lien
quelconque je suis preneur.

Merci et bon week-end

JBF


























Avatar
Daniel.C
> If Dossier.Items(i).UnRead = False Then : ça signifie que je n'aurai aucun AR
ds Excel si le destinataire supprime mon mail sans même l'avoir ouvert? Si
oui, je voudrais avoir un AR "NON LU" à la place de rien si c'est possible.



"Dossier.Items(i).UnRead = False" indique que le message a été récupéré
dans sa messagerie par le destinataire. Mais, pas forcément qu'il l'a
ouvert.

Ps: tant que j'y suis, j'ai posté une demande pour appliquer une macro à
toute une colonne. j'ai mis les 4 ou 5 lignes de ma macro, est ce que tu peux
y jeter un oeil tant qu'on y est please?




J'ai déjà répondu, ainsi qu'Isabelle.
Daniel
Avatar
JBF
Ps: tant que j'y suis, j'ai posté une demande pour appliquer une macro à
toute une colonne. j'ai mis les 4 ou 5 lignes de ma macro, est ce que tu
peux y jeter un oeil tant qu'on y est please?




J'ai déjà répondu, ainsi qu'Isabelle.




Etrange! Je ne vois aucune réponses à ma question pourtant!!


"Daniel.C" a écrit dans le message de news:
%
If Dossier.Items(i).UnRead = False Then : ça signifie que je n'aurai
aucun AR ds Excel si le destinataire supprime mon mail sans même l'avoir
ouvert? Si oui, je voudrais avoir un AR "NON LU" à la place de rien si
c'est possible.



"Dossier.Items(i).UnRead = False" indique que le message a été récupéré
dans sa messagerie par le destinataire. Mais, pas forcément qu'il l'a
ouvert.

Ps: tant que j'y suis, j'ai posté une demande pour appliquer une macro à
toute une colonne. j'ai mis les 4 ou 5 lignes de ma macro, est ce que tu
peux y jeter un oeil tant qu'on y est please?




J'ai déjà répondu, ainsi qu'Isabelle.
Daniel




Avatar
Daniel.C
Je suis planté dans la macro. Modifie comme suit :

Sub LireAR2()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
Set Var = Dossier.Items(i)
If Dossier.Items(i).Recipients(1).TrackingStatus = 1 Or _
Dossier.Items(i).Recipients(1).TrackingStatus = 6 Then
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) =
"LU"
End If
Exit For
End If
End If
Next i
End Sub


Etrange! Je ne vois aucune réponses à ma question pourtant!!



Ma réponse était :

Bonjour.
Ne sois pas trop impatient, c'est dimanche et c'est l'heure du
déjeuner.
Tu veux mettre la formule dans toute la colonne ?
Et qu'estce que représente "devis" ? le mot "devis" ou une variable ?
Essaie :

Sheets("Ne pas ouvrir").Select
Range("K:K").FormulaR1C1 = _
"=VLOOKUP(""devis"",'Attente de
reglement'!C[-10]:C[-4],6,FALSE)"
Range("K3").Select

Cordialement.
Daniel
Avatar
Daniel.C
Et si tu as plus d'un destinataire par message, je dois encore modifier
la macro.

Je suis planté dans la macro. Modifie comme suit :

Sub LireAR2()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
Set Var = Dossier.Items(i)
If Dossier.Items(i).Recipients(1).TrackingStatus = 1 Or _
Dossier.Items(i).Recipients(1).TrackingStatus = 6 Then
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
End If
Next i
End Sub


Etrange! Je ne vois aucune réponses à ma question pourtant!!



Ma réponse était :

Bonjour.
Ne sois pas trop impatient, c'est dimanche et c'est l'heure du déjeuner.
Tu veux mettre la formule dans toute la colonne ?
Et qu'estce que représente "devis" ? le mot "devis" ou une variable ?
Essaie :

Sheets("Ne pas ouvrir").Select
Range("K:K").FormulaR1C1 = _
"=VLOOKUP(""devis"",'Attente de reglement'!C[-10]:C[-4],6,FALSE)"
Range("K3").Select

Cordialement.
Daniel


Avatar
Daniel.C
Ce n'était pas encore ça :

Sub LireAR2()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
Set Var = Dossier.Items(i)
If Dossier.Items(i).Recipients(1).TrackingStatus = 1 Or _
Dossier.Items(i).Recipients(1).TrackingStatus >= 6 Then
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
End If
Next i
End Sub

Daniel
Avatar
JBF
Bonjour,

Merci de continuer à travailler sur cette macro. C'est vraiment sympa de ta
part.
Effectivement, il s'agira d'un mailing et il y aura donc plusieurs
destinataires par envois.

Merci à toi

JBF


"Daniel.C" a écrit dans le message de news:
%
Et si tu as plus d'un destinataire par message, je dois encore modifier la
macro.

Je suis planté dans la macro. Modifie comme suit :

Sub LireAR2()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim m As MailItem, i As Integer
Set OlApp = CreateObject("Outlook.Application")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
Set Dossier = NS.GetDefaultFolder(olFolderSentMail)
For i = 1 To Dossier.Items.Count
Set Var = Dossier.Items(i)
If Dossier.Items(i).Recipients(1).TrackingStatus = 1 Or _
Dossier.Items(i).Recipients(1).TrackingStatus = 6 Then
dest = Dossier.Items(i).Recipients(1).Address
If IsNumeric(Application.Match(dest, [A:A], 0)) Then
If Dossier.Items(i).UnRead = False Then
Range("B" & Application.Match(dest, [A:A], 0)) = "LU"
End If
Exit For
End If
End If
Next i
End Sub


Etrange! Je ne vois aucune réponses à ma question pourtant!!



Ma réponse était :

Bonjour.
Ne sois pas trop impatient, c'est dimanche et c'est l'heure du déjeuner.
Tu veux mettre la formule dans toute la colonne ?
Et qu'estce que représente "devis" ? le mot "devis" ou une variable ?
Essaie :

Sheets("Ne pas ouvrir").Select
Range("K:K").FormulaR1C1 = _
"=VLOOKUP(""devis"",'Attente de reglement'!C[-10]:C[-4],6,FALSE)"
Range("K3").Select

Cordialement.
Daniel






1 2 3