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

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5182591
Bonjour.
Quel est le lien entre le nom de l'utilisateur et son adresse mail ?
Cordialement.
Daniel
"Actarus" 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.



Actarus
Le #5230221
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 !
Daniel.C
Le #5230191
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" 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 !



Actarus
Le #5229881
Merci beaucoup ! cela a l'air de fonctionner !!!!
Publicité
Poster une réponse
Anonyme