Envoi feuille excel par mail à plusieurs destinataires

Résolu
Eric -  
 Eric -
Bonjour,

Je débute en macro et souhaite envoyer une feuille à plusieurs destinataires.
Si je mets qu'une adresse mail c'est OK mais avec deux pas.

Le message d'erreur:
"Erreur d’exécution '1004': La liste des destinataires contient un nom de destinataire inconnu. Utilisez un nom valide et réessayez."

Voici ma macro:
Sub EnvoiPage()

Dim Email As String, Sujet As String
Dim AccuseReception As Boolean

Sheets("Valeurs").Select 'Saisir le nom exact la feuille
ActiveSheet.Copy 'Crée une copie de la feuille active

Email = "***@***; " & _
        "***@***"

Sujet = "Envoi automatique: Consommations"
AccuseReception = True

ActiveWorkbook.SendMail Email, Sujet, AccuseReception
Application.DisplayAlerts = False
ActiveWorkbook.Close 'ferme la copie de la feuille active
Application.DisplayAlerts = True
MsgBox "L'email a bien été transmis aux destinataires suivants: ***@*** & ***@***"
End Sub


Si qqun peut m'ader :-)

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. Doatyn Messages postés 9 Statut Membre
     
    Aide Excel : Email "Spécifie le nom du destinataire sous la forme de texte ou, s'il y a plusieurs destinataires, d'un tableau de chaînes de caractères."
    Donc : Email doit représenter un tableau

    Perso, je fais ça en pilotant Outlook depuis Excel :
    Dim OutlookApp As Outlook.Application ' Outils > références > Microsoft Outlook 14 Object Library
    Dim Racine As Outlook.Namespace ' Le contenant Outlook
    Dim LaBoite As Outlook.MAPIFolder ' Sera la boite des brouillons
    Dim ListeMessages As Outlook.Items ' La collection des messages
    0
    1. Eric
       
      Merci pour ta réponse.

      Ça doit être un tableau dans le fichier excel? (je suis vraiment mauvais)

      Je ne veux pas trop directement piloter Outlook car c'est un fichier qui est sur réseau et on est plusieurs personnes à le faire en fait
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Dim Email() As String

    Email= Array("***@***", "***@***")
    0
    1. Eric
       
      En faisant comme ça, j'ai un autre message: Erreur d'exécution '13': Incompatibilité de type
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Peux-tu montrer ton code modifié, et indiquer à quelle ligne tu as l'erreur?
      0
    3. Eric
       
      L'erreur est à la ligne: Email = Array("***@***", "***@***")

      Sub EnvoiPage()

      Dim Email() As String
      Dim Sujet As String
      Dim AccuseReception As Boolean

      Sheets("Valeurs").Select 'Saisir le nom exact la feuille
      ActiveSheet.Copy 'Crée une copie de la feuille active

      Email = Array("***@***", "***@***")
      Sujet = "Envoi automatique: Consommations"
      AccuseReception = True

      ActiveWorkbook.SendMail Email(), Sujet, AccuseReception
      Application.DisplayAlerts = False
      ActiveWorkbook.Close 'ferme la copie de la feuille active
      Application.DisplayAlerts = True
      MsgBox "L'email a bien été transmis aux destinataires suivants: ***@*** & ***@***"
      End Sub
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      et avec :
      Dim Email() As Variant
      ?
      0
    5. Eric
       
      C'est nickel, ça fonctionne!

      Merci beaucoup :-)
      0