Comment créé un alerte mail dans un tableau excel

Fermé
Signaler
Messages postés
4
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
13 mai 2016
-
Messages postés
16128
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 décembre 2021
-
Bonjour, pour mon boulot je rentre dans un tableau Excel des dates de validité de Permis de conduire,CACES, FCO Etc.
Comment faire pour qu'un mail me soi envoyé 3 mois avant la date de validité du permis
Merci d'avance

1 réponse

Messages postés
16128
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 décembre 2021
1 565
Bonjour,
Code pour envoi @Mail en auto via Outlook, a vous de mettre la bonne colonne et voir pour la colonne ou ecrire le @ pour memoriser que l'envoi a ete deja fait pour cette date

Si vous voulez l'envoi a l'ouverture du fichier, faire un appel de cet procedure dans le VBA de ThisWorkbook avec ceci:

Private Sub Workbook_Open()
Envoidu_MailAutomatique
End Sub


code a mettre dans un module:
Sub Envoidu_MailAutomatique()
    On Error Resume Next
    ' Envoie automatiquement le mail a trois mois de la date de validite du permis de conduire,
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro
    Dim Plage_DL As Range
    Dim cel As Range

    'Plage de cellules date a tester ici colonne A
    With Worksheets("feuil1")
        derlig = .Range("A" & Rows.Count).End(xlUp).Row     'derniere cellule non vide
        Set Plage_DL = .Range("A2:A" & derlig)          'definition plage en memoire
    End With

    'on fait la boucle plage date livraison
    For Each cel In Plage_DL
        'DateDiff("m", Now, cel)        instruction calcul difference de dates en mois
        If DateDiff("m", Now, cel) >= 3 And IsDate(cel) And cel.Offset(, 2) = Empty Then
            cel.Offset(, 2) = "@"       'ecriture ici colone B, d'un @ pour eviter envois multiples pour une meme date
            Set OutApp = CreateObject("Outlook.Application")
            Set OutMail = OutApp.CreateItem(0)
            
            'contenu message a adapter
            Contenu = ""
            strbody = Contenu
            With OutMail
                .To = "xxx@gmail.com"       'adresse destinataire
                '.CC = ""       'copie
                '.BCC = ""      'copie cachee (Blind Carbon Copy en Anglais)
                .Subject = "Sujet du @mail"
                .Body = strbody     'corps du @mail
                'Piece-Jointe si besoin
                '.Attachments.Add ("C:\test.txt")
                '.Display   'ouvre Outlook pour valider ou non l'envoi
                'or use
                .Send       'sans ouverture Outlook, envoi direct
            End With
        End If
        'attente envoi @Mail par Outlook
        Application.Wait Application.Wait(Now + TimeValue("0:00:01"))
        Set OutMail = Nothing
        Set OutApp = Nothing
    Next cel
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
Messages postés
4
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
13 mai 2016

Merci pour ta reponse rapide je m'en occupe lundi merci encore
Messages postés
4
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
13 mai 2016

merci f894009 pour ta réponse,

mais malgré ton programme je ne comprend pas tout il y as dans ce que tu a noter en vert des phrase que je ne comprend pas (on fait la boucle plage date livraison.?).('Déclaration de variable "L" pour connaitre la Ligne Numéro.??) je n'ai pas les bases de ce language, donc c'est compliqué

en clair dans quel colonne mettre la date déchéance du permis, faut t'il sélectionner une cellule avant d'aller dans le visual basic, etc..

pour noter l'adresse du destinataire j'ai compris,même le destinataire en copie l'heure d'envoie du mail
encore un peu d'aide me serai nécessaire.
merci encore
Messages postés
16128
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 décembre 2021
1 565 >
Messages postés
4
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
13 mai 2016

Bonjour,
Vous devez adpter la co!bonne date, dans mon exemple c'est la colonne À.
Il faut une colonne pour mémoriser que l'alerte à été envoyée, colonne C dans l' ex.
Vous avez tout pour, qu'à l'ouverture du classeur, la vérification dates se face avec envoi @mali.
Maintenant, si vous voulez, mettez votre fichier à disposition sans données sensibles et je vous ferai les modifs.
C'est vous qui voyez..........
À+
Messages postés
4
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
13 mai 2016

bonjour f894009

je ne comprend pas tout il doit encore me manquer quelque chose

voici le lien du fichier
http://www.cjoint.com/c/FEnjhFh3hcb

merci beaucoup pour votre aide
Messages postés
16128
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 décembre 2021
1 565 >
Messages postés
4
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
13 mai 2016

Bonjour,

Alerte si arrivee et depassement dates pour la case permis ou toutes les cases marquees date a l'aquelle le tableau doit m'envoyer un mail