Envoi feuille excel par mail à plusieurs destinataires

Résolu/Fermé
Eric - Modifié par crapoulou le 11/11/2016 à 12:49
 Eric - 14 nov. 2016 à 10:28
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.
A voir également:

2 réponses

Doatyn Messages postés 8 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2017
11 nov. 2016 à 14:55
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
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
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
11 nov. 2016 à 15:04
Dim Email() As String

Email= Array("***@***", "***@***")
0
En faisant comme ça, j'ai un autre message: Erreur d'exécution '13': Incompatibilité de type
0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
14 nov. 2016 à 08:50
Peux-tu montrer ton code modifié, et indiquer à quelle ligne tu as l'erreur?
0
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
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
14 nov. 2016 à 10:01
et avec :
Dim Email() As Variant
?
0
C'est nickel, ça fonctionne!

Merci beaucoup :-)
0