Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion pir312
  • 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 !

P

pir312

Guest
Bonjour à tous,

J'aimerais pouvoir envoyer des mails à partir d'une liste. J'ai récupéré des exemples sur le forum et j'ai essayé de les adapter à mes besoins.
Comme mes connaissances du VBA sont très très basiques, je n'y arrive pas.

Dans le fichier joint, je voudrais une commande pour envoyer un mail individuel pour une adresse à la fois à l'approche de la date du rendez-vous.
Actuellement, le mail créé est envoyé à tous les destinataires et ne reprend pas les données des colonnes A et C.

Par avance merci de vous pencher sur mon problème et surtout d'y apporter une solution.
 

Pièces jointes

Re : Envoi Email

Bonjour,

un maitre en la matière ici:

Mail one Sheet With SendMail

P. (XL2007-PC)


Sub SendMailTo() ' 2015
Dim Mmail As String
Dim Sujet As String
Dim Zone As Range
Set Ws1 = Sheets("suivi")
Set Zone = Ws1.Range("B2:B" & Ws1.[B65000].End(xlUp).Row)
For Each C In Zone
Set OL = CreateObject("Outlook.Application")
Set MyItem = OL.CreateItem(olMailItem)
Mmail = C.Value
With MyItem
.To = Mmail
.Subject = "Rendez-vous"
.ReadReceiptRequested = False
.Body = "Rappel pour notre rendez-vous du " & C.Offset(, -1) & " au " & C.Offset(, 1)
.Send
End With
Next C
MsgBox "Mail envoyé", vbInformation, ""
 
Dernière édition:
Re : Envoi Email

Bonjour,

Merci pour votre idée.
Je la teste sur mon fichier et je vous informe du résultat.
 
Dernière modification par un modérateur:
Re : Envoi Email

Re Bonjour,

J'ai recopié le code de gosselien mais après activation de la macro, j'obtiens le message d'erreur suivant: "Erreur système &H80004005 (-2147467259)".
D'autre part, si je comprends bien, cette commande envoie systématiquement un mail à toutes les adresses. J'aurais voulu un envoi individuel par exemple si la date du jour est la veille de la date mentionnée dans la colonne A.

J'aurais pu m'exprimer plus clairement dès le début. Toutes mes excuses.

J'attends avec impatience vos propositions.
 
Re : Envoi Email

Bonjour à tous,

As-tu pensé à activer la Référence par Outils / Références dans l'éditeur VBE ?



A+ à tous
 

Pièces jointes

  • Capture 1.png
    9 KB · Affichages: 79
  • Capture 1.png
    9 KB · Affichages: 74
Re : Envoi Email

Bonjour à tous,

Peux-tu essayer :

VB:
Option Explicit


Sub EnvoiMail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim Lig&


    For Lig = 2 To Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
        With OutMail
            .To = Range("B" & Lig).Text
            '.CC = ""
            '.BCC = ""
            .Subject = "Rapppel RdV"
            .Body = "Rappel pour notre rendez-vous du " & Sheets("Suivi").Range("A" & Lig) _
    & " au " & Sheets("Suivi").Range("C" & Lig)
            .Send
        End With
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
        Next Lig
    End Sub

A+ à tous
 
Re : Envoi Email


Bonsoir,

J’ai une question portant sur le même sujet mais comportant des difficultés supplémentaires.

Actuellement je dispose d’un fichier sur lequel je fais des exports de mon logiciel professionnel.

Le fichier comporte des MFC, notamment sur des dates supérieures à 30 jours qui laissent apparaître une icône rouge.

Pour exemple le fichier joint

J’aimerais si possible que si cette icône est rouge et que si la colonne AF est vide qu’il y est un mail qui parte automatiquement aux personnes suivantes :

A : Colonne N
CC : valerie.giscard@nsp.fr (cet e-mail est fixe) + « Colonne C » + (si c’est possible que ca me demande si je souhaite rajouter une adresse mail)

Objet : Relance demande « Colonne D »

Dans le message :

Bonjour,

Cette demande est toujours en cours, peux tu me dire si elle a été traitée ou si tu es en attente d’une réponse du client ?

Merci d’avance

Je reste à ta disposition pour de plus amples informations.

Bien Cordialement,

Une fois que le mail est partit je souhaite que la colonne AF se remplisse avec la date d’envoi.

Si cet envoi automatique n’est pas possible est-il possible de créer un bouton le permettant ?

Pour info mon logiciel mail est Lotus Notes mais cela dit le mois prochain (enfin si dieu le veut bien ;-) ) nous passons sur Outlook.

Pour des raisons de confidentialités toutes les infos sont changées dans le tableau.

Et encore une fois je ne remercierais jamais assez celui qui prendra le temps de me répondre et je suis conscient que je demande quelque chose qui peut prendre du temps , je ne ferais aucun reproche si on me dit que c’est trop compliqué.

Bien à vous,
Antoine
 

Pièces jointes

Re : Envoi Email

Bonjour à tous,

Pourras-tu essayer :

VB:
Option Explicit


Sub EnvoiMail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim Lig&


    For Lig = 2 To Feuil1.Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    If Feuil1.Range("AF" & Lig) = "" Then
        With OutMail
            .To = Feuil1.Range("N" & Lig).Text
            .CC = "valerie.giscard@nsp.fr;jean.claude.vandame@nsp.fr"
            '.BCC = ""
            .Subject = "Relance demande " & Feuil1.Range("D" & Lig).Text
            .Body = "Bonjour, " & vbCrLf & vbCrLf & "La demande " & Feuil1.Range("D" & Lig).Text & " est toujours en cours, peux tu me dire si elle a été traitée ou si tu es en attente d’une réponse du client ?" _
            & vbCrLf & vbCrLf & "Merci d’avance" & vbCrLf & vbCrLf & "Je reste à ta disposition pour de plus amples informations." & vbCrLf & vbCrLf & "Bien Cordialement"
            .Send
            Feuil1.Range("AF" & Lig) = Date
        End With
        End If
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
        Next Lig
    End Sub

Résultat sous MSOutlook :



A+ à tous
 

Pièces jointes

  • Capture 3.png
    18.5 KB · Affichages: 72
  • Capture 3.png
    18.5 KB · Affichages: 72
Re : Envoi Email


Cette macro ne fonctionne pas sur mon mac pourtant j'ai Outlook.
Je vais l'essayer demain au travail... Comment puis je adapter la macro à l'application Lotus ?
Et encore une fois merci pour votre réponse ultra rapide !
 
Re : Envoi Email

Bonsoir JCGL,

Le code que tu m'as proposé ne fonctionne pas, j'ai toujours le même message d'erreur mais ce n'est pas grave car j'ai récupéré celui que tu as concocté pour entoanne et il fonctionne sans problème.

J'ai suivi son idée de MFC et je souhaiterais savoir s'il est possible de n'envoyer un mail que si l'icône est rouge.
Autre idée, comme il s'agit de dates, peut-on mettre une condition à l'envoi en fonction de la date du jour? Le mail ne serait envoyé que si la date en A est par exemple 2 jours plus tard pour rappeler le rendez-vous.

Merci de ton aide
 
Re : Envoi Email

Cette macro ne fonctionne pas sur mon mac pourtant j'ai Outlook.
Je vais l'essayer demain au travail... Comment puis je adapter la macro à l'application Lotus ?
Et encore une fois merci pour votre réponse ultra rapide !

Bonjour,

Après essai au travail, j'ai un message d'erreur "Erreur d'exécution '429' : Un composant ActiveX ne peut créer d'objet"

Savez vous pourquoi ?

cdt,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
570
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
985
Réponses
2
Affichages
995
O
Réponses
1
Affichages
683
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…