soso61
Messages postés8Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention 6 septembre 2013
-
27 avril 2006 à 17:02
soso61
Messages postés8Date d'inscriptionmercredi 29 novembre 2000StatutMembreDerniè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)
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 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.