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

SendMail à une liste sauf à l'expéditeur du mail

4 réponses
Avatar
Actarus
Bonjour, j'utilise la méthode suivante trouvée sur le newsgroup pour envoyer
mon classeur par mail à une liste d'adresses figurant sur mes colonnes M10 à
M16.

Dim myadress(1 To 10)
Set mylst = Sheets("mononglet").Range("M10:M16")
Count = 1
For Each Envoi In mylst
If Len(Envoi) Then myadress(Count) = Envoi: Count = Count + 1
Next
ActiveWorkbook.SendMail Recipients:=Array(myadress(1), myadress(2),
myadress(3), myadress(4), myadress(5), myadress(6), myadress(7),
myadress(8), myadress(9), myadress(10)), Subject:="Nouveau document"

Il s'agit en fait d'un modèle excel et j'ouvre un document basé sur ce
modèle que j'enregistre et envoie par mail pour avertir de la création dudit
doc. Sur le modèle se trouve donc l'ensemble des adresses mails auxquelles
je dois envoyer le document et bien sûr je veux l'envoyer à tous sauf
l'expéditeur du mail qui figure dans la liste. Ce document peut être créé et
envoyé par n'importe qui se trouvant dans la liste. Comment récuperer le nom
de l'expéditeur pour ne pas envoyer le mail à soi-même ?

Merci.

4 réponses

Avatar
Daniel.C
Bonjour.
Quel est le lien entre le nom de l'utilisateur et son adresse mail ?
Cordialement.
Daniel
"Actarus" a écrit dans le message de news:
47d94041$0$863$
Bonjour, j'utilise la méthode suivante trouvée sur le newsgroup pour
envoyer mon classeur par mail à une liste d'adresses figurant sur mes
colonnes M10 à M16.

Dim myadress(1 To 10)
Set mylst = Sheets("mononglet").Range("M10:M16")
Count = 1
For Each Envoi In mylst
If Len(Envoi) Then myadress(Count) = Envoi: Count = Count + 1
Next
ActiveWorkbook.SendMail Recipients:=Array(myadress(1), myadress(2),
myadress(3), myadress(4), myadress(5), myadress(6), myadress(7),
myadress(8), myadress(9), myadress(10)), Subject:="Nouveau document"

Il s'agit en fait d'un modèle excel et j'ouvre un document basé sur ce
modèle que j'enregistre et envoie par mail pour avertir de la création
dudit doc. Sur le modèle se trouve donc l'ensemble des adresses mails
auxquelles je dois envoyer le document et bien sûr je veux l'envoyer à
tous sauf l'expéditeur du mail qui figure dans la liste. Ce document peut
être créé et envoyé par n'importe qui se trouvant dans la liste. Comment
récuperer le nom de l'expéditeur pour ne pas envoyer le mail à soi-même ?

Merci.



Avatar
Actarus
Pour l'instant il n'y a pas vraiment de lien, je peux éventuellement
identifier l'expéditeur en fonction du nom du pc et le rajouter dans une
colonne N par exemple en face de chaque adresse. Mais comment dire alors que
si il y a correspondance entre le nom du poste actuel et le nom en colonne
N, ne pas prendre cette adresse ? Comment lier ma colonne M à ma colonne N ?
Merci pour ta réponse !
Avatar
Daniel.C
La macro utilise le nom d'utilisateur placé en colonne N en regard de
l'adresse mail.
La macro à utiliser est "test". Le code précédent cette macro doit être
placé en tête de module :

Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long


Public Function sUserName() As String
Dim sName As String * 256
Dim nNullPos As Integer


On Error GoTo ErrHandler


If GetUserName(sName, 256) Then
nNullPos = InStr(sName, vbNullChar)
If nNullPos Then
sUserName = Left$(sName, nNullPos - 1)
Else
sUserName = sName
End If
End If


ExitRoutine:
Exit Function
ErrHandler:
Resume ExitRoutine
End Function



Sub test()
Dim myadress(1 To 10), Utilisateur As String
Utilisateur = sUserName()
Set mylst = Sheets("mononglet").Range("M10:M16")
Count = 1
For Each Envoi In mylst
If Len(Envoi) And Envoi.Offset(, 1) <> Utilisateur Then
myadress(Count) = Envoi: Count = Count + 1
End If
Next
ActiveWorkbook.SendMail Recipients:=Array(myadress(1), myadress(2), _
myadress(3), myadress(4), myadress(5), myadress(6), myadress(7), _
myadress(8), myadress(9), myadress(10)), Subject:="Nouveau document"

End Sub

"Actarus" a écrit dans le message de news:
47d9942c$0$892$
Pour l'instant il n'y a pas vraiment de lien, je peux éventuellement
identifier l'expéditeur en fonction du nom du pc et le rajouter dans une
colonne N par exemple en face de chaque adresse. Mais comment dire alors
que si il y a correspondance entre le nom du poste actuel et le nom en
colonne N, ne pas prendre cette adresse ? Comment lier ma colonne M à ma
colonne N ? Merci pour ta réponse !



Avatar
Actarus
Merci beaucoup ! cela a l'air de fonctionner !!!!