E-mail automatique à partir de different fichiers
maximilieng
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Stif -
Stif -
Bonjour à tous!
Je suis débutant en programmation, et je suis à la recherche d'une macro qui pourrait générer et envoyer automatiquement un fichier reprenant toutes les informations du client.
En colA j'ai la référence fournisseur, en colB l'adresse e-mail fournisseur, en colC la référence produit, en colD la description produit.
Ex: ColA ColB ColC ColD
JVF Jean@voila.fr 123.4567.890 Voiture à eau
JVF Jean@voila.fr 234.5678.901 Voiture à essence
JVF Jean@voila.fr 345.6789.012 Voiture à diesel
ATV Antoine@voila.fr 345.9872.876 Camion
TYD Thibaut@voila.fr 767.8542.134 Tracteur
TYD Thibaut@voila.fr 999.1312.765 Grue
J'aimerai pouvoir envoyer par e-mail un fichier par client, regroupant toutes leurs informations.
Je suis conscient que c'est un long et fastidieux travail, c'est pour cela que je vous remercie d'avance :)
Je suis débutant en programmation, et je suis à la recherche d'une macro qui pourrait générer et envoyer automatiquement un fichier reprenant toutes les informations du client.
En colA j'ai la référence fournisseur, en colB l'adresse e-mail fournisseur, en colC la référence produit, en colD la description produit.
Ex: ColA ColB ColC ColD
JVF Jean@voila.fr 123.4567.890 Voiture à eau
JVF Jean@voila.fr 234.5678.901 Voiture à essence
JVF Jean@voila.fr 345.6789.012 Voiture à diesel
ATV Antoine@voila.fr 345.9872.876 Camion
TYD Thibaut@voila.fr 767.8542.134 Tracteur
TYD Thibaut@voila.fr 999.1312.765 Grue
J'aimerai pouvoir envoyer par e-mail un fichier par client, regroupant toutes leurs informations.
Je suis conscient que c'est un long et fastidieux travail, c'est pour cela que je vous remercie d'avance :)
A voir également:
- E-mail automatique à partir de different fichiers
- Réponse automatique thunderbird - Guide
- É majuscule - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Windows live mail - Télécharger - Mail
2 réponses
J'ai trouvé une grande partie de la réponse à ma question !
J'ai fait un Pivot Table avec les données que j'avais pour après spliter mon classeur en une Feuille par client.
Le seul problème qui se pose à moi maintenant c'est que je n'arrive pas à insérer un sujet et un corps à mon e-mail, ce qui fait très peu professionel...
Il y a bien "Subject_Line" mais rien ne change peu importe le nom que je mets...
Voici ma macro pour celui ou celle qui aura le courage de m'aider :)
Sub Mail_every_Worksheet()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Worksheets
If sh.Range("b1").Value Like "*@*" Then
sh.Copy
ActiveWorkbook.SaveAs "Sheet " & sh.Name & " of " _
& ThisWorkbook.Name & ".xls"
ActiveWorkbook.SendMail ActiveSheet.Range("b1").Value, _
"Subject_line"
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
End If
Next sh
Application.ScreenUpdating = True
End Sub
J'ai fait un Pivot Table avec les données que j'avais pour après spliter mon classeur en une Feuille par client.
Le seul problème qui se pose à moi maintenant c'est que je n'arrive pas à insérer un sujet et un corps à mon e-mail, ce qui fait très peu professionel...
Il y a bien "Subject_Line" mais rien ne change peu importe le nom que je mets...
Voici ma macro pour celui ou celle qui aura le courage de m'aider :)
Sub Mail_every_Worksheet()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Worksheets
If sh.Range("b1").Value Like "*@*" Then
sh.Copy
ActiveWorkbook.SaveAs "Sheet " & sh.Name & " of " _
& ThisWorkbook.Name & ".xls"
ActiveWorkbook.SendMail ActiveSheet.Range("b1").Value, _
"Subject_line"
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
End If
Next sh
Application.ScreenUpdating = True
End Sub
Bonjour,
Essayez ça et dites moi si ça vous convient :
Sub mail()
Dim OutApp As Object
Dim OutMail As Object
Dim mailclient As String
Dim I As Variant
For I = 1 To Range("B" & Rows.Count).End(xlUp).Row
If Cells(I, 2) <> "" Then
mailclient = Cells(I, 2).Value
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = mailclient
.Subject = "Sujet du mail"
.Body = Cells(I, 1).Value & " " & Cells(I, 3).Value & " " & Cells(I, 4).Value & " "
.Send
End With
Set OutApp = Nothing
End If
Next I
End Sub
EDIT : pour attacher un fichier il faut rajouter la ligne:
.Attachments.Add "C:\Users\..." avant la ligne .Send
Essayez ça et dites moi si ça vous convient :
Sub mail()
Dim OutApp As Object
Dim OutMail As Object
Dim mailclient As String
Dim I As Variant
For I = 1 To Range("B" & Rows.Count).End(xlUp).Row
If Cells(I, 2) <> "" Then
mailclient = Cells(I, 2).Value
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = mailclient
.Subject = "Sujet du mail"
.Body = Cells(I, 1).Value & " " & Cells(I, 3).Value & " " & Cells(I, 4).Value & " "
.Send
End With
Set OutApp = Nothing
End If
Next I
End Sub
EDIT : pour attacher un fichier il faut rajouter la ligne:
.Attachments.Add "C:\Users\..." avant la ligne .Send
Merci pour ton travail et ta réponse Stif !
Je vois dans ton code que les données Excel sont dans le corps du texte. Je souhaitais que le mail parte avec un sujet et un corps de texte personnalisé ET le fichier excel :)
Avec le code que j'ai trouvé, je peux envoyer uniquement la feuille par mail au client avec ses informations (et ça marche nikel !), du coup je souhaitais savoir si on ne pouvait pas "agrémenter" le code de depart.
Merci encore
Je vois dans ton code que les données Excel sont dans le corps du texte. Je souhaitais que le mail parte avec un sujet et un corps de texte personnalisé ET le fichier excel :)
Avec le code que j'ai trouvé, je peux envoyer uniquement la feuille par mail au client avec ses informations (et ça marche nikel !), du coup je souhaitais savoir si on ne pouvait pas "agrémenter" le code de depart.
Merci encore
Autant pour moi !
Ma macro envoyait le mail, mais les clients pouvaient changer le filtre pour voir les autres données étant donné que c'était une Pivot Table...
Je repars donc de 0.
Je vais essayer de trouver 2 macros différentes, une pour copier les informations clients dans un template, et la seconde pour envoyer tous ces fichiers aux clients.
Si quelqu'un à plus de renseignements pour moi, je suis preneur !!
Merci!
Ma macro envoyait le mail, mais les clients pouvaient changer le filtre pour voir les autres données étant donné que c'était une Pivot Table...
Je repars donc de 0.
Je vais essayer de trouver 2 macros différentes, une pour copier les informations clients dans un template, et la seconde pour envoyer tous ces fichiers aux clients.
Si quelqu'un à plus de renseignements pour moi, je suis preneur !!
Merci!
Merci de ton temps Stif ! :)
Voici les 2 fichiers. Il ya le template que j'aimerais envoyer aux clients, et la base de donnée avec les colonnes que j'utilise.
http://www.cjoint.com/c/FGnlTLTKq8z
http://www.cjoint.com/c/FGnlUdgqe2z
Pour récap, (et surtout être sur de m'être fait bien comprendre) je souhaite que chaque clients recoivent les données qui leur sont associées par email, dans un template excel qui leur est propre.
Merci beaucoup,
Voici les 2 fichiers. Il ya le template que j'aimerais envoyer aux clients, et la base de donnée avec les colonnes que j'utilise.
http://www.cjoint.com/c/FGnlTLTKq8z
http://www.cjoint.com/c/FGnlUdgqe2z
Pour récap, (et surtout être sur de m'être fait bien comprendre) je souhaite que chaque clients recoivent les données qui leur sont associées par email, dans un template excel qui leur est propre.
Merci beaucoup,
Je viens de voir tes fichiers.
Je ne suis pas certain d'avoir bien compris. Tu voudrais que les données de chaque destinataire du fichier Exemple2send soient récupérées et mises dans le fichier template2send et ensuite envoyer un mail avec un texte + en pièce jointe le fichier template2send complété?
Si oui dans quelle colonne de template2send veux tu que les données soient copiées?
Si c'est bien ça que tu veux c'est facilement faisable
Je ne suis pas certain d'avoir bien compris. Tu voudrais que les données de chaque destinataire du fichier Exemple2send soient récupérées et mises dans le fichier template2send et ensuite envoyer un mail avec un texte + en pièce jointe le fichier template2send complété?
Si oui dans quelle colonne de template2send veux tu que les données soient copiées?
Si c'est bien ça que tu veux c'est facilement faisable