Envoyer un mail via Outlook à plusieurs contacts

Résolu
BCDLM Messages postés 13 Statut Membre -  
 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

  1. Zoul67 Messages postés 2001 Statut Membre 149
     
    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+
    0
    1. BCDLM Messages postés 13 Statut Membre
       
      Non non, les lignes et les colonnes n'ont pas été inversés.
      J'ai déjà placé des contrôle avec les Msgbox pour être sûr de ne pas m'être trompé et ils renvoient les bonnes valeurs...
      0
    2. Zoul67 Messages postés 2001 Statut Membre 149
       
      En fouinant, il semblerait effectivement qu'il faille passer par un tableau (Array).
      Sinon, quand ça marche sans passer par la variable tu écris quoi ?
      0
    3. Zoul67 Messages postés 2001 Statut Membre 149
       
      Essaie
      receiver = """" & Sender_1 & "; " & Sender_2 & """"
      0
    4. BCDLM
       
      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
      0
    5. BCDLM
       
      Bon bah ça ne marche toujours pas, ça bloque sur cette ligne de code :

      ActiveWorkbook.SendMail recipients:=receiver, Subject:=str_name
      0