Donnees email selon ligne grace a formulaire

Bonjour

Ca serait bien si quelqu'un pouvait m'aider: j'ai trouvé un code sur internet qui me convient partiellement mais je voudrais le développer.

Je vais essayer d'expliquer le plus clairement possible ce que je veux faire (la procédure):

J'ai un fichier excel avec 2 onglets:

- onglet "suivi": un tableau de suivi avec à chaque ligne un numéro de dossier, et un nom et d'autres informations à chaque ligne.

REMARQUES: en colonne A il y a un numéro de dossier, en colonne B un nom, en D un email et en G une date.

Ces données doivent faire partie de chaque email envoyé (j'explique plus tard).

- onglet "formulaire" avec un grand tableau vide (que je dois envoyer a chaque client dont le nom et l'email sont indiques dans le tableau de suivi dans le premier onglet).

En appuyant sur un bouton envoi (qui se trouve dans l'onglet "suivi"), un formulaire (UserForm1) s'ouvre et demande pour quel numéro de dossier on veut envoyer un email au client.

On écrit dans le champ du petit formulaire le numéro de dossier et on appuie sur "envoi".

Les actions qui doivent être générées suite au bouton "envoi" de ce formulaire sont les suivantes:

1. l'onglet "formulaire" se sauvegarde sur notre ordinateur (Desktop)

2. un email automatique se génère avec un message automatique et un titre automatique, avec le fichier excel sauvegardé (l'onglet "formulaire" en question, qui est mis en piece jointe à l'email).

IMPORTANT: le sujet de l'email est puisé des données de la colonne A (selon la ligne du dossier que j'ai inscrit dans le formulaire), le nom du fichier joint est puisé des données de la colonne A et B, l'adresse du destinataire est puisée des données de la colonne D, la date qui se trouve dans le corps du mail est puisée de la colonne G.

3. le fichier excel (de l'onglet qui a été sauvegardé pour son envoi en pièce jointe) s'efface du Desktop

4. la date d'envoi (celle où a été exécutée la macro en fait) s'inscrit automatiquement dans la cellule de la colonne F selon la ligne correspondante (selon le numéro de dossier pour lequel la macro a été exécutée).

Je vous joint le fichier en pièce jointe afin que vous puissiez mieux comprendre.

Merci d'avance pour votre aide!!

Eric

Bonjour Eric,

Voici un exemple,

Bonjour!

Oui c'est presque cela, merci pour la réponse rapide!!

Mais le problème est que le fichier qui est joint à l'email l'est entièrement... J'ai besoin que seul l'onglet nommé "formulaire" soit joint à l'email et aussi que le nom du fichier soit "Données passeport" & " " & Range("b") & " " & "PNR" & " " & Range("a") & ".xls"

C'est possible?

re,

remplacer

MonMessage.Attachments.Add ActiveWorkbook.FullName

par

MonMessage.Attachments.Add fichier

Merci beaucoup!!

Tout fonctionne très bien!!

Je réécris la macro ci-après et je joins le fichier avec les quelques adaptations que j'y ai fait...

Il juste un petit détail qui me gêne: la macro d'envoi sauvegarde le fichier excel sur mon Bureau., et ne s'efface pas à la fin.

La formule "kill fichier" ne fonctionne pas ...

Sub EnvoiMailavecPJ(pnr As Long)

Dim chemin As String, fichier As String

ligne = Application.Match(pnr, Sheets("suivi").Range("A:A"), 0)

chemin = Environ("USERPROFILE") & "\Desktop"

fichier = chemin & "\" & "Données passeport" & " " & Range("B" & ligne) & " " & "PNR" & " " & Range("A" & ligne) & ".xls"

ThisWorkbook.Sheets("formulaire").Copy

ActiveWorkbook.SaveAs Filename:=fichier

ActiveWorkbook.Close

Dim MonOutlook As Object

Dim MonMessage As Object

Set MonOutlook = CreateObject("Outlook.Application")

Set MonMessage = MonOutlook.CreateItem(0)

MonMessage.To = ThisWorkbook.Sheets("suivi").Range("D" & ligne)

MonMessage.Cc = ""

MonMessage.Subject = "Demande données passeport" & " " & "PNR" & " " & ThisWorkbook.Sheets("suivi").Range("A" & ligne) & " " & "-" & " " & ThisWorkbook.Sheets("suivi").Range("B" & ligne)

MonMessage.body = "A l'attention de:" & " " & ThisWorkbook.Sheets("suivi").Range("C" & ligne) & _

Chr(13) & Chr(13) & "Bonjour," & _

Chr(13) & Chr(13) & "Veuillez trouver, ci-joint, le formulaire dans lequel vous pouvez renseigner les informations concernant les passeports de vos clients." & _

Chr(13) & Chr(13) & "Nous vous saurions gré de bien vouloir nous faire parvenir rempli le formulaire ci-joint au plus tard 5 jours avant le vol, c'est-à-dire au plus tard jusqu'au" & " " & ThisWorkbook.Sheets("suivi").Range("G6") & _

Chr(13) & Chr(13) & "Merci." & _

Chr(13) & Chr(13) & "MON NOM EN GUISE DE SIGNATURE"

MonMessage.Attachments.Add fichier

MonMessage.display

With ThisWorkbook.Sheets("suivi").Range("F" & ligne)

.Value = Date

.NumberFormat = "dd/mm/yyyy"

End With

MsgBox "Le courriel vient d'être envoyé à l'agent."

ActiveWorkbook.Save

ActiveWorkbook.Close

Set MonOutlook = Nothing

Kill fichier

End Sub

j'ai arrange le probleme.

Rechercher des sujets similaires à "donnees email ligne formulaire"