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

Microsoft 365 Envoyer un email automatique a date d'échéance d'une cellule Excel

Abdenour

XLDnaute Nouveau
Bonjour,

Je ne connais pas du tout le VBA mais je me permets de solliciter votre aide.

Je possède un fichier Excel qui liste les tâches de mes différents projets. Chaque tâche possède un nom de tâche (colonne C), une date de début (colonne I) et une date de fin (colonne K). Attention : certaines tâches peuvent ne pas avoir de date de fin.

Ce qui est souhaité :

1/ C'est d'envoyer un email pour toutes les lignes de mon fichier dont les tâches disposes uniquement d'une date de fin. Si pas de date de fin saisi dans la colonne K, dans ce cas je n'envoi aucun email.

2/ Dans l'email envoyé avoir un titre d'objet ainsi qu'une phrase du type "La tâche xxxx n'est pas finalisé, merci de la traiter au plus vite". Le xxxx doit correspondre au texte saisi en colonne C qui correspond au nom de la tâche.

J'ai réussi a faire quelque chose (ci-dessous) mais cela ne fonctionne pas correctement car d'une part je reçois des emails pour les tâches ne possédant pas de date de fin (cellules vides) et plus d'emails qu'il n'y a de lignes dans mon tableau.

VB:
Sub envoimail()

Dim messagerie As Object
Dim email As Object
Dim cel As Range
Dim delai As Integer

Set messagerie = CreateObject("Outlook.Application")

delai = 1 'jours

For Each cel In Range("A4:A" & Range("A4").End(xlDown).Row)
    If cel.Offset(, 7).Value - Now < delai Then

        Set email = messagerie.CreateItem(0)
    
        With email
            .to = "monadresseemail@toto.fr"
            .Subject = "mettre ici le titre du mail"
            .body = "Bonjour, la tâche " & cel.Offset(, 2) & " arrive à échéance." & vbCrLf & "Merci de la traiter dès que possible." & vbCrLf & "Cordialement"
            
            .ReadReceiptRequested = True
            .display ' à remplacer par .send si ok
        End With

        Set email = Nothing

    End If
Next cel

Set messagerie = Nothing

End Sub

Informations complémentaires : J'utilise Microsoft Office 365 avec dernière version d'Excel.

 

Pièces jointes

  • SUIVI-PROJETS-TEST1.xlsm
    21.9 KB · Affichages: 26

Abdenour

XLDnaute Nouveau
Cela me convient. Je te remercie beaucoup pour ton aide.

Dernière chose en ce qui concerne la question ci-dessous stp.

2/ Est-il possible que la macro fonctionne même si mon fichier Excel n'est pas ouvert ? Ou bien pour que les alertes puissent d'être envoyées, je dois chaque jour ouvrir le fichier et cliquer sur exécuter la macro ?
 

danielco

XLDnaute Accro
Non, le classeur doit être ouvert. Maintenant, il peut être ouvert en utilisant les tâches planifiées de Windows. Il faut que l'ordi soit ouvert.
On peut aussi, par macro, inscrire dans le classeur la date de l'exécution de la macro et, à la prochaine ouverture du classeur, faire le traitement depuis cette date.

Daniel
 

Discussions similaires

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