Envoyer un mail via Outlook à plusieurs contacts [Résolu/Fermé]

Signaler
Messages postés
12
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
26 août 2015
-
 BCDLM -
Bonjour,

Je suis actuellement coincé sur une partie de ma macros Excel.
Je suis en train de coder cette macros afin d'envoyer un formulaire à plusieurs personnes, voici le code :

Application.DisplayAlerts = False
ActiveWorkbook.SendMail recipients:=receiver, Subject:=str_name
ActiveWindow.Close
Application.DisplayAlerts = False

L'erreur vient de la variable receiver car quand je la remplace pas une adresse ça marche.

Cette variable contient deux contacts. Un contact qui ne changera jamais et un autre qui change en fonction d'une cellule du formulaire.

If Cells(22, 7) = "Paris" Then
Worksheets("Data").Select
Sender_1 = Cells(6, 28).Value
ElseIf Cells(22, 7) = "Berlin" Then
Worksheets("Data").Select
Sender_1 = Cells(6, 29).Value
End If

Les deux adresse mails sont rangées dans la variable receiver de cette façon :

receiver = Sender_1 & "; " & Sender_2
(Sender_1 est la variable qui contient l'adresse qui change et Sender_2 celle qui ne change pas...)

Je ne comprends pas pourquoi cela ne peut pas marcher avec une variable.
J'ai aussi essayé avec la fonction Array mais pareil
Si vous avez des idées je suis preneur.

merci pour votre aide !

1 réponse

Messages postés
1931
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
18 novembre 2019
127
Bonjour,

Je me demande si tu n'as pas inversé ligne et colonne...
Place éventuellement
MsgBox Cells(22, 7).Value 
MsgBox Cells(6, 28).Value
MsgBox Cells(6, 29).Value
avant le If

A+
Zoul67
Messages postés
1931
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
18 novembre 2019
127
Essaie
receiver = """" & Sender_1 & "; " & Sender_2 & """"
Quand je le fais sans passer par la variable j'écris directement l'adresse mail...
Je vais essayer ça, mais pourquoi autant de guillemets?

merci bien
Bon bah ça ne marche toujours pas, ça bloque sur cette ligne de code :

ActiveWorkbook.SendMail recipients:=receiver, Subject:=str_name
Zoul67
Messages postés
1931
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
18 novembre 2019
127
Je me suis trompé sur les guillemets, ça sert dans SendKeys, mais ça n'a pas grand'chose à voir...
Apparemment, ce code marche (j'avais des messages d'erreur comme toi en n'utilisant qu'une chaîne de caractères) :
Sub essai()
Dim tb(1) As String 'indique le nombre d'éléments du tableau (2 destinataires)
tb(0) = Cells(1, 1).Value
tb(1) = Cells(2, 1).Value
str_name = "blabla"

ActiveWorkbook.SendMail Recipients:=tb, Subject:=str_name

End Sub
D'accord, merci bien pour ce code, ça marche parfaitement !