Envoi classeur excel en pièce jointe

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous

Dans la macro ci-dessous, je boucle sur une plage contenant des adresses email qui me permet d'envoyer le classeur actif à ces personnes.

Au lieu d'envoyer autant de mails que de destinataires, j'aimerais envoyer un seul mail à tous les destinataires.
Style:

ActiveWorkbook.SendMail Array(Destinataire1,Destinataire2,etc....), "COMMANDE N°" & NumCommande, AccuseReception

Comment puis-je procéder avec ma boucle ?

Code actuel:
Code:
If Bat = "A" Then
          For Each cel In .Range("A2:A" & .Range("A65536")(xlUp).Row)
          	destinatairesA = cel.Value
            		If cel.Value <> "" Then
            			'envoi du mail avec num de commande
            			ActiveWorkbook.SendMail destinatairesA, "COMMANDE N°" & NumCommande, AccuseReception
            		End If
          Next cel
End If

Merci par avance pour vos propositions
 

job75

XLDnaute Barbatruc
Re : Envoi classeur excel en pièce jointe

Bonsoir antiphot,

Essayez, car je n'ai pas testé, et tenez-nous au courant :

Code:
Dim destinatairesA As New Collection
-----------------
If Bat = "A" Then
For Each cel In .Range("A2:A" & .Range("A65536")(xlUp).Row)
If cel.Value <> "" Then destinatairesA.Add cel.Value
Next
ActiveWorkbook.SendMail destinatairesA, "COMMANDE N°" & NumCommande, AccuseReception
End If

Bonne fin de soirée et A+

Edit : salut Said
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Envoi classeur excel en pièce jointe

Bonjour antiphot, le forum,

J'ai testé : la méthode avec New Collection ne fonctionne pas.

Par contre le code suivant doit fonctionner si ce qui le précède est correct :

Code:
If Bat = "A" And .Range("A65536").End(xlUp).Address <> "$A$1" Then
On Error Resume Next
SendKeys "~" 'évite le message de confirmation
ActiveWorkbook.SendMail .Range("A2:A" & .Range("A65536").End(xlUp).Row), "COMMANDE N°" & NumCommande, AccuseReception
If Err > o Then MsgBox "Adresse(s) incorrecte(s)"
On Error GoTo 0
End If

Il n'y a pas besoin de tester les cellules vides, SendMail ne les prend pas en compte.

A+
 
Dernière édition:

antiphot

XLDnaute Occasionnel
Re : Envoi classeur excel en pièce jointe

La propostion de Job75 marche impeccable. J'ai juste un petit souçi avec SendKeys "~"
Il me bloque l'écran. Si je le débloque, le message de confirmation apparaît. Du coup, j'ai enlevé le sendKeys et tout est ok.

Merci à tous
 

Discussions similaires

Réponses
2
Affichages
203

Statistiques des forums

Discussions
312 108
Messages
2 085 371
Membres
102 876
dernier inscrit
BouteilleMan