XL 2019 Aide date email

Reart

XLDnaute Nouveau
Bonjour à tous et merci d'être sur ce sujet, je suis vraiment débutant, j'aimerais avoir votre aide.

J'ai un fichier excel sur lequel j'ai des dates "de péremption" en C2:G6 mais je peux avoir des cases vides entre les cas

J'aimerais créer un rappel pour chaque cas 2 mois avant la date d'aujourd'hui sur outlook avec le nom de la personne et le nom du cas dans l'email en titre.

Savez-vous comment le faire ou des pistes à suivre? Toute aide sera la bienvenue, merci d'avance
 

Pièces jointes

  • date.xlsx
    10.4 KB · Affichages: 6

zebanx

XLDnaute Accro
Bonjour Reart

De ma compréhension, vous souhaitez vous envoyer un mail de rappel dès lors qu'une date dans le tableau arrive à aujourd'hui + 2 mois.

Donc :
1. On transpose dans une feuille avec une formule automatique pour dire si le "mail déjà envoyer", "à envoyer" ou "" (pas encore arriver à échéance)
2. On s'envoie le mail si la cellule en colonne 5 est "à envoyer"

Ici, le code a été mis en display (affichage) et non en envoi (sent).

Pour accéder au code ci-joint.
- saisissez ALT + F11
- allez à gauche pour trouver dans l'arborescence les modules
- choisissez le code (ici dans le module 2)
- modifier votre code sur la ligne du destinataire et "'.send" (à transformer en ".send") puis enregistrer les modification (sur le bandeau, choisir réinitialiser çad le carré bleu)

Dans l'attente de votre retour, xl-ment
zebanx

VB:
Sub Envois()
Dim i As Long, k As Long, derlig As Long, derl As Long, strd As String, _
strc As String, corps As String, sujet As String
Dim ObjOutlook As New Outlook.Application
Dim oBjMail

    Set ObjOutlook = New Outlook.Application
    Set oBjMail = ObjOutlook.CreateItem(olMailItem)
    Application.WindowState = xlMinimized

derligne = Sheets("res").Cells(Rows.Count, 1).End(3).Row

'--- boucle sur le tableau
For i = 2 To derligne
    If Cells(i, 5) = "à envoyer" Then
    With oBjMail
       .to = "thierry....@yahoo.com"   'le destinataire[/COLOR]
        .Subject = Cells(i, 1) & "-" & Cells(i, 2) & " " & Cells(i, 3) '--- on recense le cas + nom + prénom
        '.BCC = strc                  'destinataires en copies cachées.
        .Body = "Here is an email"    'le corps du mail ..son contenu
        .Display                      'pour visualiser
        '.Send                        'pour envois direct[/COLOR]
    End With
    End If
Next i
         
    'ObjOutlook.Quit   'si envois direct
    Set oBjMail = Nothing
    Set ObjOutlook = Nothing
End Sub
 

Pièces jointes

  • date_mail.xlsm
    25.3 KB · Affichages: 10

Reart

XLDnaute Nouveau
Bonjour zebanx, déjà un grand merci pour votre retour et votre travail, le problème est que je me suis mal exprimé,
Ce fichier est une table simplifiée de mon dossier actuel, qui lui comprend environ 100 personnes, second problème, il y a un turn-over assez important des personnes donc il faudrait que l'email se fasse à partir de la colonne du nom et prénom avec la date du cas.

Savez-vous comment faire ? xl-ment Reart
 

zebanx

XLDnaute Accro
Bonjour Reart

Non je ne comprends pas. :rolleyes:
On partait d'une date qui était le critère d'envoi au #1 et maintenant ce serait davantage lié aux personnes ?

Si vous en êtes d'accord en partant d'une table transposée comme présentée sur la feuille "RES" du #2, si vous pouviez transmettre deux documents svp :

Fichier excel final en partant du 2 (transposé) :
- si les champs vous conviennent déjà
- si l'interprétation du #2 est correcte, à savoir qu'on envoi un mail si la date indiquée dans le tableau - 2 mois correspond à la date du jour
Sinon, corrigez sur le fichier avec des commentaires dans une zone de texte pour plus de clarté svp.

Copie écran
- Prévoir svp de faire une copie-écran d'un mail "bidon" que vous souhaitez obtenir à joindre en miniature dans votre réponse (insérer une image).

Ca va vous prendre 5 minutes pour les deux mais au moins, moi ou un autre, nous serons plus à même de répondre il me semble à votre demande.
Ce qui est (très) clair pour soi ne l'est pas forcément pour les autres, et j'essaye de m'appliquer à moi-même cette remarque !

Vous en remerciant par avance, xl-ment
zebanx
 
Dernière édition:

Reart

XLDnaute Nouveau
Rebonjour, oui le critère correspond bien à date d'échéance, le soucis est le turn-over, entre 1 mois des personnes partent ou reviennent donc il faut que la date soit le critère de référence pour le nom et prénom. pouvez-vous m'expliquer comment fonctionne la feuille 2 ?
En vous remerciant également, xl-ment
Reart
 

Pièces jointes

  • envoyer.xlsx
    16.5 KB · Affichages: 5

zebanx

XLDnaute Accro
Re-

Désolé, je ne comprends toujours rien à ce que vous voulez au final.:(

Sur l'exploitation
Vous répétez "je souhaite que la date arrive à 2 mois avant la date d'aujourd'hui avoir un rappel outlook avec le nom et prénom".
????
On va prendre la ligne 3 - cas 1 : 29/03/2026.
A quel moment le mail devrait être envoyé SVP ?

Sur la restitution
Que voulez-vous au final ? Un mail mais qui présente quelles informations ????
Un exemple bidon sur OUTLOOK avec copie écran (par PAINT pour aller au plus simple) resterait utile pour comprendre ce que vous attendez à la fin du traitement.

Et quel est le rapport entre le nom des personnes à qui sont dédiés pour chaque cas une date d'échéance et le turn-over ?
-> Les personnes s'implémentent au fur à mesure sur une nouvelle ligne du tableau non ?

Encore une fois, peut-être que d'autres auront parfaitement compris votre demande.
Moi, je suis à l'ouest total là....

@+
 

Reart

XLDnaute Nouveau
Bonjour zebanx , je suis désolé je m'exprime mal...

Pour la ligne 3, je souhaite recevoir un mail/ rappel automatique sur outlook le 29/01/2026.

Sur cette email ou rappel dans le titre ou dans le corps je souhaiterais avoir le nom et le prénom de la personne et si vous y arriviez mettre le nom du cas.

Le turn-over est juste comme vous l'avez dis une nouvelle ligne ou une ligne en moins puis trié de A à Z

Que ce soit email ou rappel je souhaite juste le plus simple à programmer pour vous.

Vous pouvez me tutoyer, xl-ment Reart
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    4.5 KB · Affichages: 7

zebanx

XLDnaute Accro
Bonjour Reart

Ok, merci pour votre retour. C'est plus clair déjà.

Ce que je vous propose :

1- On part de votre fichier complet (x lignes, y colonnes) et on incorpore les données dans une feuille "res" pour avoir une base de données plutôt qu'un tableau permettant de faire des filtres en colonne E (date - 2 mois) et F (déjà envoyé, à envoyer, "").

Tout cela est réalisé par une seule macro : sh01_transpose (bouton go sur la feuille 1)

2. On envoie à un destinataire, vous en l'espèce, un mail d'alerte comprenant tous les mouvements du jour si cette date (en colonne E) correspond à la date d'aujourd'hui (soit en colonne F par ligne l'instruction "mail à envoyer"). S'il n'y a pas d'envoi pour la journée, une message box apparait "Pas d'alerte pour la journée !"

Tout cela est réalisé par une seule macro : mailto (bouton en haut sur la feuille 2)

Pour modifier le nom du destinataire, le titre ou le contenu du message, il faut aller dans le code de cette macro.
Donc ALT + F11 pour accéder au VBE (Visual Basic Editor) puis choisir le module_2_mailto et faire la correction dans le code au niveau de cette ligne pour modifier le nom :
ml.To = "thierry_...@yahoo.com"

Pour le moment, le message est en mode "display" (affichage). Cela permet de vérifier avant envoi si c'est ok.
Si vous souhaitez envoyer directement le message, il faut mettre un "'" devant la ligne ml.display et enlever celui devant la ligne "'ml.send" (envoi)

Le résultat final est fourni sur l'image jointe.
Dans l'attente de votre retour,

Xl-ment
 

Pièces jointes

  • outlook_message.png
    outlook_message.png
    167.2 KB · Affichages: 5
  • date_mail_2.xlsm
    60.4 KB · Affichages: 3
Dernière édition:

Reart

XLDnaute Nouveau
Super monsieur, un grand merci pour votre implication, j'ai une dernière requête est-ce possible d'automatisé la feuille pour que le macro s’exécute automatiquement sans appuyer sur le bouton ? et est-ce possible de cacher une feuille ?
Dans l'attente de votre retour,
xl-ment Reart
 

zebanx

XLDnaute Accro
Re

Pas de "monsieur" stp o_O

1. Un "call" a été ajouté pour lancer "mailto" après l'exécution de la première macro.
Il n'y a donc plus besoin d'appuyer sur le deuxième bouton pour lancer la macro.

2.Cacher une feuille ?
Clic-droit sur l'onglet et masquer. Ici, la feuille "res" est masquée.
Pour faire réapparaitre la feuille, pareil, on se positionne sur les onglets, clic-droit et afficher.
Le code "mailto" a été un peu modifié en conséquence.

@+
 

Pièces jointes

  • date_mail_2.xlsm
    68.5 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 283
Membres
103 507
dernier inscrit
tapis23