Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Envoi un mail automatique

  • Initiateur de la discussion Initiateur de la discussion FaruSZ
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

FaruSZ

XLDnaute Occasionnel
Bonjour,
Je veux savoir si c'est possible de faire un code qui me permet d'envoyer un mail au personnel de l'entreprise pour les notifier sur des dates d'expiration de quelques procedures. sous VBA.
merci
 
Bonjour,
en faisant une recherche sur ce thème, tu devrais trouver ton bonheur.
Tout dépend si tu utilises Outlook, Thunderbird, etc etc etc ....
En fonction de cela, ce ne sera pas le même code.
Il y a plein de ressources sur le forum
@+ Lolote83
 
re farusz, bonsoir lolote83 bonsoir le fil

une solution simple sans logiciel de messagerie avec l'extension CDO à installer dans le classeur excel, et une boite gmail.


une code vba dans un module avec une fonction, remplacer adresse de messagerie par la vôtre, mais surtout une adresses gmail et le mot de passe de gmail
VB:
Function GetSMTPServerConfig() As Object

Dim Cdo_Config As New CDO.Configuration
Dim Cdo_Fields As Object

Set Cdo_Fields = Cdo_Config.Fields
With Cdo_Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "smtp.gmail.com"
.Item(cdoSMTPServerPort) = 465
.Item(cdoSendUserName) = "mon_adresse_gmail.com" 'renseigner votre adresse
.Item(cdoSendPassword) = "mon_mot_de_passe_gmail" 'renseigner votre mot de passe
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSMTPUseSSL) = True
.Update
End With

Set GetSMTPServerConfig = Cdo_Config
Set Cdo_Config = Nothing
Set Cdo_Fields = Nothing
End Function


Public Sub SendMail22()

Dim Cdo_Message As New CDO.Message

Set Cdo_Message.Configuration = GetSMTPServerConfig()
With Cdo_Message
.To = Sheets("Mail").Range("C2").Text
.From = Sheets("Mail").Range("C2").Text
.Subject = "Information rendez-vous"
.TextBody = "information dans le texte " & Sheets("Mail").Range("D2").Text & " le " & Sheets("Mail").Range("e2").Text & " " & " " & "à " & Sheets("Mail").Range("f2").Text
.Send
End With

Set Cdo_Message = Nothing
MsgBox ("mail envoyé,vous avez la possibilité de supprimer cette boite de dialogue dans le code vba")

End Sub

dans l'exemple les cellules de la deuxième ligne sont concernées pour l'envoie d'un mail.
par une boucle adapter cette macro pour l'envoie à plusieurs destinataires.
cordialement
galougalou
 

Pièces jointes

Merci je vais le tester.
 
re farusz bonjour le fil
une petite boucle avec une simplification de la saisie dans la feuille mail
une deuxième feuille liste les adresses mails des destinataires. faire une saisie dans la colonne a sans sauter de lignes.
cordialement
galougalou
 

Pièces jointes

re farusz bonjour le fil
une petite boucle avec une simplification de la saisie dans la feuille mail
une deuxième feuille liste les adresses mails des destinataires. faire une saisie dans la colonne a sans sauter de lignes.
cordialement
galougalou
Bonjour,
Merci pour le fichier, cependant moi je veux que le mail s'envoi automatiquement sans cliquer sur des boutons, je veux rédiger un code avec une condition sur la fin de validité de quelques éléments de ma base de données.
Jusqu'à présent j'ai réussi a écrire un code qui me permet d'afficher un msgbox quand la date de validité approche:

'Afficher date fin validit? des formations internes
Sub AlertesDatesFormations()
Dim Sh As Worksheet, Chaine As String, Lig As Integer, Alerte
Lig = 14 ' car les dates de validit? se trouvent en ligne 14
For Each Sh In ActiveWorkbook.Sheets
If Sh.Range("A10") = "Formation interne" Then 'Formation concern?e
Col = 2 ' car la premi?re date de validit? en en colonne B
While Sh.Cells(Lig - 4, Col) <> "" ' on regarde toutes les formations dans la colonne A10 (14-4=10)
If Sh.Cells(Lig, Col) <> "" And Sh.Cells(Lig, Col) < Date + 60 Then ' si formation et date
' on enrichit la chaine avec nom-date-formation
Chaine = Chaine & Sh.Name & vbTab & " Date: " & Sh.Cells(Lig, Col) & " " & Sh.Cells(Lig - 1, Col) & vbCrLf
End If
Col = Col + 1
Wend
If Chaine <> "" Then Chaine = Chaine & vbCrLf
End If
Next Sh
If Chaine <> "" Then Alerte = MsgBox(Chaine, , "Alertes sur les dates de validit? formations.")
End Sub


je veux ajouter l'envoi du mail a l'intérieur de ce code
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
463
Réponses
1
Affichages
391
Réponses
2
Affichages
924
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…