Sendmail pour un groupe de destinataire

Le
Ramsès
Bonjour

J'essaie d'envoyer un courriel à plusieurs destinataires.
Lorsque j'écris la liste des destinataires dans la zone Array sous le format
"Nom1", "Nom2", ça fonctionne.
Lorsque je construit la liste à partir d'une liste fournie dans une userform
avec le code suivant

Destinataire = Replace(COURRIEL.Destinataire, ";", Chr(34) & ", " & Chr(34))

lors de l'envoi, avec le code suivant,

ActiveWorkbook.SendMail Recipients:=Array(Destinataire), Subject:=Objet,
returnreceipt:¬CUSE

je reçois un message m'avisant qu'un des destinataires est inconnu
N.B. si la liste construite contient un seul nom, ça fonctionne également

Merci de m'aider
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
j
Le #5026411
ton "replace..." transforme un texte "toto;zaza" en texte séparé par des
virgules et des guillemets (toto","zaza)
quand tu écris array de ton texte, il considère que toto","zaza est un seul
destinataire (inconnu !)
a mon avis, il faut que tu boucles sur ton texte pour le couper en morceaux
et mettre les morceaux dans un array
(si tu patauges pour cette étape, redemande)
Avant ça, as-tu essayé de faire simplement recipients=COURRIEL.Destinataires
(en gardant la série de noms séparés par des points-virgules) ?

http://jacxl.free.fr




"Ramsès"
Bonjour

J'essaie d'envoyer un courriel à plusieurs destinataires.
Lorsque j'écris la liste des destinataires dans la zone Array sous le
format

"Nom1", "Nom2", ça fonctionne.
Lorsque je construit la liste à partir d'une liste fournie dans une
userform

avec le code suivant

Destinataire = Replace(COURRIEL.Destinataire, ";", Chr(34) & ", " &
Chr(34))


lors de l'envoi, avec le code suivant,

ActiveWorkbook.SendMail Recipients:=Array(Destinataire),
Subject:=Objet,

returnreceipt:¬CUSE

je reçois un message m'avisant qu'un des destinataires est inconnu
N.B. si la liste construite contient un seul nom, ça fonctionne également

Merci de m'aider



Ramsès
Le #5049001
Bonjour

J'ai essayé avec recipients=COURRIEL.Destinataire, mais ça ne fonctionne pas.

Je ne comprend pas ce que tu veux dire par «boucler sur mon texte». Ça va
donner le même résultat puisque chaque élément de la zone «Array» doit être
inscrit entre guillemets et séparé par une virgule. Sinon, ça ne fonctionne
pas.

Merci pour ton aide


ton "replace..." transforme un texte "toto;zaza" en texte séparé par des
virgules et des guillemets (toto","zaza)
quand tu écris array de ton texte, il considère que toto","zaza est un seul
destinataire (inconnu !)
a mon avis, il faut que tu boucles sur ton texte pour le couper en morceaux
et mettre les morceaux dans un array
(si tu patauges pour cette étape, redemande)
Avant ça, as-tu essayé de faire simplement recipients=COURRIEL.Destinataires
(en gardant la série de noms séparés par des points-virgules) ?

http://jacxl.free.fr




"Ramsès"
Bonjour

J'essaie d'envoyer un courriel à plusieurs destinataires.
Lorsque j'écris la liste des destinataires dans la zone Array sous le
format

"Nom1", "Nom2", ça fonctionne.
Lorsque je construit la liste à partir d'une liste fournie dans une
userform

avec le code suivant

Destinataire = Replace(COURRIEL.Destinataire, ";", Chr(34) & ", " &
Chr(34))


lors de l'envoi, avec le code suivant,

ActiveWorkbook.SendMail Recipients:=Array(Destinataire),
Subject:=Objet,

returnreceipt:¬CUSE

je reçois un message m'avisant qu'un des destinataires est inconnu
N.B. si la liste construite contient un seul nom, ça fonctionne également

Merci de m'aider








j
Le #5048771
ce que je veux dire c'est que ton array(destinataire) n'est pas un tableau
contenant les différents destinataires, mais est un tableau contenant un
seul élément au format texte
ce que tu peux faire c'est remplir ton tableau destinataire par destinataire
avec un truc du genre de ce qui est plus bas (il y a surement plus rapide) :

num = 0
ReDim zaza(num)
dest = COURRIEL.Destinataire & ";"
While InStr(dest, ";") > 0
ReDim Preserve zaza(num)
zaza(num) = Left(dest, InStr(dest, ";") - 1)
dest = Right(dest, Len(dest) - InStr(dest, ";"))
num = num + 1
Wend
ActiveWorkbook.SendMail Recipients:=zaza, Subject:=Objet,
returnreceipt:¬CUSE


http://jacxl.free.fr



"Ramsès"
Bonjour

J'ai essayé avec recipients=COURRIEL.Destinataire, mais ça ne fonctionne
pas.


Je ne comprend pas ce que tu veux dire par «boucler sur mon texte». Ça va
donner le même résultat puisque chaque élément de la zone «Array» doit
être

inscrit entre guillemets et séparé par une virgule. Sinon, ça ne
fonctionne

pas.

Merci pour ton aide


ton "replace..." transforme un texte "toto;zaza" en texte séparé par des
virgules et des guillemets (toto","zaza)
quand tu écris array de ton texte, il considère que toto","zaza est un
seul


destinataire (inconnu !)
a mon avis, il faut que tu boucles sur ton texte pour le couper en
morceaux


et mettre les morceaux dans un array
(si tu patauges pour cette étape, redemande)
Avant ça, as-tu essayé de faire simplement
recipients=COURRIEL.Destinataires


(en gardant la série de noms séparés par des points-virgules) ?

http://jacxl.free.fr




"Ramsès" news:



Bonjour

J'essaie d'envoyer un courriel à plusieurs destinataires.
Lorsque j'écris la liste des destinataires dans la zone Array sous le
format

"Nom1", "Nom2", ça fonctionne.
Lorsque je construit la liste à partir d'une liste fournie dans une
userform

avec le code suivant

Destinataire = Replace(COURRIEL.Destinataire, ";", Chr(34) & ", " &
Chr(34))


lors de l'envoi, avec le code suivant,

ActiveWorkbook.SendMail Recipients:=Array(Destinataire),
Subject:=Objet,

returnreceipt:¬CUSE

je reçois un message m'avisant qu'un des destinataires est inconnu
N.B. si la liste construite contient un seul nom, ça fonctionne
également




Merci de m'aider










Ramsès
Le #5294221
Bonjour ,

Merci beaucoup pour tes informations. Je n'avais pas répondu avant parce que
je n'avais pas de temps à consacrer à ce traitement. Ça fonctionne très bien
en plaçant chaque destinataire dans une entrée de table et en mettant la
table comme destinataire.

Ramsès


ce que je veux dire c'est que ton array(destinataire) n'est pas un tableau
contenant les différents destinataires, mais est un tableau contenant un
seul élément au format texte
ce que tu peux faire c'est remplir ton tableau destinataire par destinataire
avec un truc du genre de ce qui est plus bas (il y a surement plus rapide) :

num = 0
ReDim zaza(num)
dest = COURRIEL.Destinataire & ";"
While InStr(dest, ";") > 0
ReDim Preserve zaza(num)
zaza(num) = Left(dest, InStr(dest, ";") - 1)
dest = Right(dest, Len(dest) - InStr(dest, ";"))
num = num + 1
Wend
ActiveWorkbook.SendMail Recipients:=zaza, Subject:=Objet,
returnreceipt:¬CUSE


http://jacxl.free.fr



"Ramsès"
Bonjour

J'ai essayé avec recipients=COURRIEL.Destinataire, mais ça ne fonctionne
pas.


Je ne comprend pas ce que tu veux dire par «boucler sur mon texte». Ça va
donner le même résultat puisque chaque élément de la zone «Array» doit
être

inscrit entre guillemets et séparé par une virgule. Sinon, ça ne
fonctionne

pas.

Merci pour ton aide


ton "replace..." transforme un texte "toto;zaza" en texte séparé par des
virgules et des guillemets (toto","zaza)
quand tu écris array de ton texte, il considère que toto","zaza est un
seul


destinataire (inconnu !)
a mon avis, il faut que tu boucles sur ton texte pour le couper en
morceaux


et mettre les morceaux dans un array
(si tu patauges pour cette étape, redemande)
Avant ça, as-tu essayé de faire simplement
recipients=COURRIEL.Destinataires


(en gardant la série de noms séparés par des points-virgules) ?

http://jacxl.free.fr




"Ramsès" news:



Bonjour

J'essaie d'envoyer un courriel à plusieurs destinataires.
Lorsque j'écris la liste des destinataires dans la zone Array sous le
format

"Nom1", "Nom2", ça fonctionne.
Lorsque je construit la liste à partir d'une liste fournie dans une
userform

avec le code suivant

Destinataire = Replace(COURRIEL.Destinataire, ";", Chr(34) & ", " &
Chr(34))


lors de l'envoi, avec le code suivant,

ActiveWorkbook.SendMail Recipients:=Array(Destinataire),
Subject:=Objet,

returnreceipt:¬CUSE

je reçois un message m'avisant qu'un des destinataires est inconnu
N.B. si la liste construite contient un seul nom, ça fonctionne
également




Merci de m'aider















Publicité
Poster une réponse
Anonyme