Tous les jours, j'envoie des mails à partir d'Excel et ce qui me facilite amplement mon travail et me fait gagner un temps précieux, surtout si ceux-ci sont rébarbatifs.
Donc je vais vous présenter deux approches différentes :
a) La première que j'ai, longtemps, utilisée et qui fonctionne efficacement. La codification est simple.
b) La deuxième, qui personnalise et rend plus agréable la lecture des mails via le code HTML. La codification est plus élaborée mais compréhensible.
Dans un premier temps téléchargez le fichier.
Maintenant que vous avez téléchargé ce fichier nous allons créer un formulaire pour la gestion d'envoi des mails sous les deux versions.
Insérer un Userform et dans celui-ci incorporer :
* Une Combobox (Zone liste modifiable)
* Cinq TextBox (Zone de Texte)
* Six Label (Intitulé)
* Quatre CommandButton (Bouton de commande)
Nommez les différents label à savoir :
* label1 => Noms & prénoms
* label2 => Adresse
* label3 => Code postal
* label4 => Ville
* label5 => N° de téléphone
* label6 => Adresse mail.
Nommez les différents CommandButton :
* CommandButton1 => QUITTER
* CommandButton2 => MODIFIER
* CommandButton3 => TEST ENVOI MAIL
* CommandButton4 => TEST ENVOI MAIL EN HTML
Ensuite incorporer les lignes codes suivantes qui vont servir à l'alimentation du formulaire :
'Début ***** Code de programmation de l'Userform A_GESTION_CLIENT *****
Option Explicit
Dim Ws As Worksheet
'***** Correspond au programme du FORMULAIRE à son ouverture *****
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Set Ws = Sheets("CLIENTS") 'Attention ce nom doit correspondre au nom de votre ONGLET ici "CLIENTS"
With Me.ComboBox1 'Programme pour alimenter la liste déroulante avec les données de la colonne A de l'onglet CLIENTS
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 5
Me.Controls("TextBox" & I).Visible = True 'affiche les données dans les textbox
Next I
End Sub
'***** Correspond au programme de la liste déroulante *****
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
Sheets("CLIENTS").Activate 'Active l'onglet "CLIENTS"
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
For I = 1 To 5
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Next I
End Sub
'***** Correspond au programme du bouton MODIFIER *****
Private Sub CommandButton2_Click()
Sheets("CLIENTS").Activate 'Active l'onglet "CLIENTS"
If MsgBox("Etes-vous certain de vouloir modifier ce client ?", vbYesNo, "Demande de confirmation") = vbYes Then
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
For I = 1 To 5
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub
'**** Correspond au programme du bouton "QUITTER" *****
Private Sub CommandButton1_Click()
Unload Me
End Sub
'Fin ***** Code de programmation de l'Userform A_GESTION_CLIENT *****
A ce stade, le formulaire fonctionne pour la consultation des noms et les modifications éventuelles.
Maintenant nous allons programmer les boutons Test ENVOI MAIL.
1) Programmantion du CommandButton4 correspondant à l'envoi d'un mail au format basique.
Dès lors que vous aurez incorporer la programmation, vous pouvez envoyer un mail vers Outlook, il vous suffit d'ouvrir votre formulaire, sélectionnez un nom et cliquez sur le Bouton "TEST ENVOI MAIL".
Code à incorporer avec explications :
'***** Correspond au programme du bouton TEST ENVOI MAIL *****
Private Sub CommandButton4_Click()
Dim MailAd As String 'Variable type String soit chaîne de caractères de longueur indéterminée (Max . 2^31 caractères)
'Variable pour le destinatire du mail
Dim msg As String 'Variable pour le corps du mail
Dim Subj As String 'Variable pour l'objet du mail
Dim URLto As String 'Variable pour l'envoi du mail
Dim a As String
a = InputBox("Saisie de votre texte : ") ' la variable sera égale au texte inscrit dans l'InputBox
MailAd = TextBox5 'La TextBox5 correspond à l'adresse mail
Subj = a
msg = msg & "Bonjour," & "%0D%0A %0D%0A"
msg = msg & "Cordialement," & "%0D%0A" & "Votre NOM et Prénom" & "%0D%0A" & "NOM DE LA SOCIETE" & "%0D%0A" & "ADRESSE DE LA SOCIETE" & "%0D%0A" & "CODE POSTAL + VILLE" & "%0D%0A" & "N° DE TELEPHONE" & "%0D%0A %0D%0A"
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub
Dans le corps du programme vous pouvez ajouter des données autant que vous le souhaitez.
Ceci correspond :
"%0D%0A %0D%0A" à deux retours à la ligne, un simple retour correspond à "%0D%0A
Tous les mots sont entre guillemets exemple "Bonjour" et la jointure entre les différents styles de programmation sont faite avec le signe &.
2) Programmantion du CommandButton5 correspondant à l'envoi d'un mail au format basique.
Dès lors que vous aurez incorporer la programmation, vous pouvez envoyer un mail vers Outlook, il vous suffit d'ouvrir votre formulaire, sélectionnez un nom et cliquez sur le Bouton "TEST ENVOI MAIL HTML".
'***** Correspond au programme du bouton ENVOI MAIL en HTML *****
Private Sub CommandButton5_Click()
Dim msg As MailItem, a, B, olapp
a = InputBox("Saisie de votre texte : ") ' la variable sera égale au texte inscrit dans l'InputBox
Set olapp = New Outlook.Application
Set msg = olapp.CreateItem(olMailItem)
msg.To = TextBox5 'La TextBox5 correspond à l'adresse mail
'msg.CC = 'EN COPIE
'msg.BCC = 'EN COPIE CACHEE
msg.Subject = a
msg.HTMLBody = "<html><body><font color=""black""><font size=3><FONT FACE=""Georgia"">" & "Bonjour, " & _
"</B><br /><br /><pre><font size=3><FONT FACE=""Georgia""><font color=""GREEN""><B>" & a & "</FONT></FONT></FONT></B></pre>" & _
"<br /><br />" & "Cordialement" & _
"<br /><B>" & "NOM et PREMOM" & _
"<br /><font color=""Blue"">" & "NOM DE LA SOCIETE" & "</B>" & _
"<br /><i>" & "ADRESSE DE LA SOCIETE" & _
"<br />" & "CODE POSTAL + VILLE" & _
"<br />" & "NUMERO TE TELEPHONE" & "</i></FONT>" & _
"<br /><br /><br />" & " </font></font></body></html>"
msg.Display 'envoi du mail
End Sub
Pour la mise en forme du mail il suffit d'effectuer la programmation sur la base du code HTML dont voici quelques exemples :
"<br />" pour le retour à la ligne
"<B>" pour paragraphe en gras
"</B>" pour ôter le gras
"<i>" pour paragraphe en italique
"</i>" pour ôtez l'italique
et etc.
Exemple pour mettre Bonjour en gras, italique et avec la police Georgia.
"<B><i><FONT FACE=""Georgia"">" & "Bonjour"
Ci-après aperçu de l'envoi de différents mails suivant mise en forme :
1) Mise en forme "Basique"
2) Mise en forme "HTML"
N'hésitez surtout pas à rédiger vos commentaires sur cette page suivant procédure suivante (capture image) :
Aucun commentaire :
Enregistrer un commentaire
Pour vous aider à publier votre commentaire, voici la marche à suivre :
1) Ecrivez votre texte dans le formulaire de saisie ci-dessus
2) Si vous avez un compte, vous pouvez vous identifier dans la liste déroulante Commentaire
Sinon, vous pouvez saisir votre nom ou pseudo par Nom/URL
3) Vous pouvez, en cliquant sur le lien S'abonner par e-mail, être assuré d'être avisé en cas d'une réponse
4) Cliquer sur Publier enfin.
Le message sera publié après modération.
Merci