Envoi par E-Mail cellules sélectionnées d'Excel

soso61 Messages postés 8 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 6 septembre 2013 - 27 avril 2006 à 17:02
soso61 Messages postés 8 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 6 septembre 2013 - 28 avril 2006 à 17:38
Bonjour à tous
Quelqu'un peut-il me dire en VBA Excel(XP2002) comment écrire mon pb suivant :
Dans la colonne de A1 à A20 j'ai des noms (ou des adresses e-mail)
Dans la colonne de B1 à B20 un prix à payer...
Question : Comment à l'aide d'un clic sur le montant à payer, envoyer directement un mail (Outlook) à cette personne en sachant que dans le Mail (si c'est possible) avoir déjà dan l'Objet => "à payer svp" et dans le corps du message le montant repris de la cellule Excel...
D'avance merci pour la(les) réponse(s)

2 réponses

Mik10_46 Messages postés 42 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 9 mai 2006 3
28 avril 2006 à 10:04
Salut,
pourquoi tu ne mettrais pas un bouton à côté de chaque somme à payer? ou alors un userform qui te demande à qui tu veux envoyer(je crois que c'est la meilleure solution!!!!)

Donc, je te donne déjà le code pour envoyer le mail par Outlook!!

ex.worksheets("Récapitulatif à envoyer").Activate
subject.Text = "Client :" & ex.Range("D7").Value
'on attribue à la variable "desti" la valeur présente dans le ComboText
desti = Combo1.Text
'on attribue à la variable "prod" la valeur présente dans le ComboText
prod = Combo2.Text
'on crée le mail à partir du modèle de Outlook
Set Out = CreateObject("Outlook.Application")
Set mail = Out.CreateItem(0)
'On désigne les destinataires permannts : La Direction
mail.To = "ton adresse mail"
'On envoie des copies aux personnes sélectionnées dans les ComboBox
'ceci pour les fichiers joints (que j'utilise dans mon cas!!)
mail.CC = desti & ";" & prod
'on définit le sujet du mail envoyé
mail.subject = "à payer SVP"
'on définit le message qui sera écrit dans le mail
mail.Body = "Bonjour, veuillez trouver dans ce mail la somme à me faire parvenir avant le :" & ex.Range("B1").Value & "?"
'cette condition nous permet d'éviter des erreurs si on ne sélectionne pas de fichier à joindre
If Dir1.Text = "" Then
mail.Send
Else
mail.Attachments.Add (Dir1.Text)
If Dir2.Text = "" Then
GoTo Label
Else
mail.Attachments.Add (Dir2.Text)
End If
Label:
mail.Attachments.Add (Dir3.Text)
If devis2.Text <> "" Then
mail.Attachments.Add (devis2.Text)
End If
If devis3.Text <> "" Then
mail.Attachments.Add (devis3.Text)
End If
mail.Send
End If
MsgBox "Veuillez patienter quelques secondes... Votre message est bien envoyé par le biais d'Outlook", vbInformation, "Envoi du mail...."
Label:
End Sub

Donc, mon idée pour ton pb,
tu fais un userform qui va rechercher dans un combobox les noms, avec la somme qui correspond à chaque nom (pour que ça soit plus simple, tu fais correspondre les cases).
et tu envoies avec le code que je t'ai mis ci-dessus.

J'espere que cela pourra t'aider

Cordialement,

Mik
0
soso61 Messages postés 8 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 6 septembre 2013
28 avril 2006 à 17:38
Ton idée est excellente, je vais de ce pas tester cela !
Merci infiniment pour ton aide
Solange
0
Rejoignez-nous