Email en VBA sur Excel 365

Bonjour à tous,

Je reviens vers vous car, pour le moment et malgré les propositions de code, ça ne fonctionne pas.

Je souhaiterais simplement que si une date dans une colonne "H"par exemple correspond à la date du jour qui se trouve en colonne "A " un email soit systématiquement envoyé à un destinataire sans fichier joint mais peut-être un mesage box pour avertir.

Je suis sous 365 et bien sûr avec Outlook.

Merci à tous.

Bonne journée.

bonjour,

pour l'envoi de mail si une date correspond à une date en colonne H, il n'y a pas de problème.

il faut cependant vérifier que la date en colonne H est bien typée comme étant une date.

il faut lancer la macro tous les jours, donc il faut y penser ou définir une tâche au niveau du planificateur de tâches (l'ordinateur doit rester allumer en permanence) et lancer la macro automatiquement à l'ouverture du classeur.

à mettre dans un nouveau module

Sub envoimailadate()
'macro d'envoi de mails lorsque qu'une date est atteinte ou dépassée.
    dl = Cells(Rows.Count, "H").End(xlUp).Row
    Set ol = CreateObject("outlook.Application")
    For i = 1 To dl
        If Cells(i, "H") <= Cells(1, 1) And Cells(i, "I") <> "mail envoyé" Then 'si date atteinte et mail pas encore envoyé
            Set om = ol.createitem(0)
            With om
                .To = Cells(i, "B") ' colonne contenant l'adresse mail du destinataire
                .Subject = " sujet"
                .body = "message"
                .display 'supprimer cette instruction après avoir vérifié que le message est composé correctement
                '.send 'enlever le commentaire pour envoyer le mail automatiquement
            End With
            Cells(i, "I") = "mail envoyé" 'colonne dans laquelle mettre une indication que le mail a été envoyé
        End If
    Next i
End Sub

à mettre dans le module this workbook

Private Sub Workbook_Open()
   envoimailadate 'executer la macro ci-dessus à l'ouverture du classeur.
End Sub

Merci beaucoup,

Je vais tester.

Bon Dimanche.

Merci de ta réactivité mais ce n'est pas tout à fait ce dont j'ai besoin.

Ci dessous, une caprture d'écran qui m'avertit que si quelqu'un modifié ce fichier, je suis averti et ça marche nikel.

Moi, mon souhait serait que si une date de la cilonne "H" correspond à la date du jour en colonne "F", je recoive un email...tout simplement.

Je ne veux pas rajouter de colonne comprenant les adresses email mais c'est dans le code VBA que je dois pouvoir rajouter les personnes concernées.

Merci beaucoup.

capture d ecran 2023 03 26 115239

re-bonjour,

mais ce n'est pas tout à fait ce dont j'ai besoin.

désolé de ne pas l'avoir deviné. J'espère que ma boule de cristal m'aura mis sur la bonne voie, cette fois.

Sub envoimailadate()
    dl = Cells(Rows.Count, "H").End(xlUp).Row
    Set ol = CreateObject("outlook.Application")
    For i = 1 To dl
        If Cells(i, "H") = Range("F2") Then 'date du jour = date de prise en charge
            Set om = ol.createitem(0)
            With om
                .To = "x@z;y@z" 'adresse mail des destinataires
                .Subject = " sujet"
                .body = "message"
                .display 'supprimer cette instruction après avoir vérifié que le message est composé correctement
                '.send 'enlever le commentaire (le ' devant l'instruction .send) pour envoyer le mail automatiquement
            End With
        End If
    Next i
End Sub

Ok et désolé si je me suis mal expliqué au début.

Je vais tester.

Bonne fin de journée.

Cordialement.

Ca marche nikel sauf que je ne veux pas que la messagerie Oulook s'ouvre...simplement que le chef soit informé qu'une date arrive à échéance....c'est tout.

Merci

re-bonjour,

n'ayant pas la possibilité de tester l macro proposée, j'ai mis une instruction d'affichage des mails générés et désactivé l'envoi. As-tu suivi les instructions mises dans la macro pour désactiver l'affichage des mails et activer l'envoi ?

Normalement oui mais je vais quand même re-tester....sais t-on jamais !!!!!

Merci

Bien, alors effectivement en suivant scrupuleusement ton code, ça marche et marche bien sauf que !!!!

Outlook me dit que le message n'a pu être envoyé impossible de contacter le destinataire !!!

J'ai rajouté une autre adresse email et là, je ne reçois rien....donc, je pencherais vers un paramètre sur ma messagerie qui bloquerait quelque part et je vais gratter de ce coté.

En tout merci beaucoup pour ton aide et au plaisir de converser.

Cordialement.

Rechercher des sujets similaires à "email vba 365"