Fichier Excel envoyer par Outlook
Résolu
faisdlair
Messages postés
171
Date d'inscription
Statut
Membre
Dernière intervention
-
faisdlair Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
faisdlair Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai encore besoin de votre aide
J'ai une macro qui est pas tout a fait a point
Je veux envoyer mon classeur Excel par outlook a l'aide de ma macro a plusieurs destinataires en même temps.
Ma liste d'adresse mail est a l'onglet TABLES a la colonne P
Lorsque j’appuie sur le bouton pour lancer la macro, la fenêtre outlook apparait et seulement une adresse courriel est inclus dans les destinataires. En plus, une erreur dans le VBA en jaune
(voir photo)
voici mon code
EDIT : Ajout des balises de code
J'ai encore besoin de votre aide
J'ai une macro qui est pas tout a fait a point
Je veux envoyer mon classeur Excel par outlook a l'aide de ma macro a plusieurs destinataires en même temps.
Ma liste d'adresse mail est a l'onglet TABLES a la colonne P
Lorsque j’appuie sur le bouton pour lancer la macro, la fenêtre outlook apparait et seulement une adresse courriel est inclus dans les destinataires. En plus, une erreur dans le VBA en jaune

voici mon code
Sub Envoyer_Mail_Outlook()
Dim ObjOutlook As New Outlook.Application
Dim oBjMail, RP
Dim destinataire As String
Dim contenu As String
Dim chemin As String
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
ActiveWorkbook.Save ' sauvergarde d'abord le fichier
chemin = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name ' chemin fichier
'Texte du messge à adapter
contenu = "Bonjour,"
contenu = contenu & Chr(10) & Chr(13) ' saut de ligne
contenu = contenu & "Fichier MACHINERIE A Jour....."
contenu = contenu & Chr(10) & Chr(13)
contenu = contenu & "Cordialement"
contenu = contenu & Chr(10) & Chr(13)
contenu = contenu & "Signature"
For n = 2 To 13 ' Boucle sur les lignes des adresses
destinataire = Sheets("TABLES").Range("P" & n)
With oBjMail
.To = destinataire ' le destinataire</souligne>
.Subject = "Fichier Excel" ' l'objet du mail ' à modifier
.Body = contenu 'le corps du mail ..son contenu
.Attachments.Add chemin '"C:\Documents\MailAgents.xls" ' ou Nomfichier
.Display ' Ici on peut supprimer pour l'envoyer sans vérification
'.Send ' après les essais enlever l'apostrophe devant cette ligne pour que les mails soient bien envoyés
End With
Set oBjMail = Nothing
Set ObjOutlook = Nothing
Next
End Sub
EDIT : Ajout des balises de code
8 réponses
-
Bonjour Jordane45
merci pour le suivi.
Que veux tu dire par Ajout des balises de codes. je fais quoi par la suite ?
Je suis débutant coté VBA.
Merci -
-
Merci cs_Le Pivert
D'adapter ce code a mes besoins n'est pas évident pour moi.
En plus, j'aimerais choisir une autre adresse comme expéditeur que l'adresse par défaut qui m'est proposé dans outlook.-
Pour envoyer à plusieurs destinataires il faut que les adresses soient séparées par un point virgule ;
Le lien que je t'ai fourni fait cela, il suffit de l'adapter à ton environnement comme ceci:
Dim iCounter As Integer Dim destinataire As String For iCounter = 1 To WorksheetFunction.CountA(Columns(16)) 'colonne P If destinataire = "" Then destinataire = Cells(iCounter, 16).Value 'colonne P Else destinataire = destinataire & ";" & Cells(iCounter + 1, 16).Value 'colonne P End If Next iCounter With oBjMail .To = destinataire ' le destinataire</souligne> .Subject = "Fichier Excel" ' l'objet du mail ' à modifier .Body = contenu 'le corps du mail ..son contenu .Attachments.Add chemin '"C:\Documents\MailAgents.xls" ' ou Nomfichier .Display ' Ici on peut supprimer pour l'envoyer sans vérification '.Send ' après les essais enlever l'apostrophe devant cette ligne pour que les mails soient bien envoyés End With
Voilà
@+ Le Pivert
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Meme chose, ca fonctionne pas
puis je t'envoyer en privé mon fichier ?
trop de données personelles y sont incluses
Merci-
Si cela ne fonctionne pas c'est que tes données ne sont pas là. Il faut te mettre sur la feuille qui contient les données avant de lancer la macro!
mettre cela en début de macro:
Sheets("TABLES").Select
Voir ceci:
https://www.tutoderien.com/envoyer-un-mail-outlook-avec-excel-vba/
c'est une autre manière de procéder
-
-
-
Ce que tu montres est exactement ce que tu as montré dans ta demande!!!!!!!
Il faut mettre ceci:
Dim iCounter As Integer Dim destinataire As String Sheets("TABLES").Select For iCounter = 1 To WorksheetFunction.CountA(Columns(16)) 'colonne P If destinataire = "" Then destinataire = Cells(iCounter, 16).Value 'colonne P Else destinataire = destinataire & ";" & Cells(iCounter + 1, 16).Value 'colonne P End If Next iCounter With oBjMail .To = destinataire ' le destinataire</souligne> .Subject = "Fichier Excel" ' l'objet du mail ' à modifier .Body = contenu 'le corps du mail ..son contenu .Attachments.Add chemin '"C:\Documents\MailAgents.xls" ' ou Nomfichier .Display ' Ici on peut supprimer pour l'envoyer sans vérification '.Send ' après les essais enlever l'apostrophe devant cette ligne pour que les mails soient bien envoyés End With
@+ Le Pivert
-
-
-
Bonjour
J'ai trouvé sur un forum
ça fonctionne bien maintenant.
Merci pour ton aide
Martin


