Envoi e-mail Outlook 2013 depuis un fichier Excel avec macros

Fermé
Niconz Messages postés 313 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 13 août 2024 - 24 août 2016 à 16:16
Niconz Messages postés 313 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 13 août 2024 - 11 sept. 2017 à 15:13
Bonjour,

Bonjour à tous, 

Je me permets de faire appel à votre aide pour une problématique entre Excel et Outlook.

Je suis en train de mettre en place une base de données, via un fichier Excel avec des macros, qui permettra à ma société de recenser et garder à jour tous les documents juridiques importants.

L'une des fonctionnalités que j'aimerais intégrer est l'envoi d'un e-mail lorsqu'un de ces documents (un contrat par exemple) arrive à échéance.
A titre d'exemple, 3 mois avant la date de fin de contrat, j'aimerais qu'un e-mail soit envoyé à la personne référente lui indiquant que son contrat arrive bientôt à échéance.

Voici la base de données qui a été créé :
https://mon-partage.fr/f/ypPCjHp6/

Mot de passe : OUTLOOK

Identifiant
Last name : A
First Name : Nic
Password : G19PK1


Concrètement, voici ce que j'aimerais :

Conditions à respecter pour cette fonctionnalité :
1. La personne étant sur le fichier appartient au département Purchasing (ce sera vérifié via l'UF identification)
2. La date rentrée dans le champ "1st notification" de l'UF ADDITION_DOC sera celle du jour ou aura été dépassé.
3. La date rentrée dans le champ "2nd notification" de l'UF ADDITION_DOC sera celle du jour ou aura été dépassé.


A l'ouverture du fichier, et une fois que les 2 conditions ci-dessus seront remplies (soit la 1 et la 2 , ou la 1 et la 3), une notification apparaîtra sur l'onglet "Home" indiquant que X nombre de documents arrivent à échéance, et qu'un rappel par e-mail doit être envoyé aux personnes concernées.

Le texte pour cette notification pourrait être le suivant :
Titre de l'UF : notification
Texte : "X documents will expire shortly. Please advise the concerned people by clicking on "OK"".
(X étant la somme de documents arrivant à échéance)

Quand la personne cliquera sur le bouton "OK", un e-mail s'ouvrira dans Outlook pour chaque document bientôt expiré.

Le texte de l'e-mail pouvant être le suivant :

¦
To : "E-mail document owner"
Cc : "E-mail purchasing document owner"
Objet : 1st Notification : "Nom du fournisseur - Description du contrat" will expire by "ending date"
Texte de l'e-mail :
      • E-mail generated automatically : please do not answer to this e-mail.***


Dear "document owner",

As a reminder, please be aware that the "type of legal document" with "supplier name" will expire by "ending date".
Please take the necessary actions, if required.

Should you need further information on this "type of legal document" with "supplier name", please consult the file ABC at the following adress :

Thanks.
¦

Les informations ci-dessus entre "" se retrouvent dans les différents onglets de mon fichier.

N.B pour le texte ci-dessus : pouvez appliquer la mise en forme tel que mise ci-dessus svp.

Voilà pour les explications, j'espère ne rien avoir oublié…

L'un d'entre vous serait-il comment faire ?

D'avance, un grand merci pour votre aide.
Excellente journée,

N:B : Pour info, j'utilise Microsoft Office 2013.
Dans la mesure du possible, merci de ne pas modifier les macros existantes, car cela fait des mois qu'on travaille dessus, et ca semble enfin marcher parfaitement.

A voir également:

63 réponses

Niconz Messages postés 313 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 13 août 2024
17 août 2017 à 08:36
Bonjour Thev,

Voici la ligne qui genere le message d'erreur :

If Not IsMissing(échéance) And Not IsEmpty(échéance) Then Email.ExpiryTime = échéance

Et maintenant ?
Merci.
0
Niconz Messages postés 313 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 13 août 2024
Modifié le 17 août 2017 à 09:59
Bonjour Thev,

Alors la ligne qui bug est la suivante :
If Not IsMissing(échéance) And Not IsEmpty(échéance) Then Email.ExpiryTime = échéance

Et maintenant ?
Merci.
0
thev Messages postés 1874 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 1 octobre 2024 688
17 août 2017 à 17:52
Si cette ligne bugge, cela veut a priori dire que le contenu de échéance n'est pas une date. Il faut donc ajouter un test supplémentaire
If Not IsMissing(échéance) And Not IsEmpty(échéance) And IsDate(échéance) Then Email.ExpiryTime = échéance

0
Niconz Messages postés 313 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 13 août 2024
21 août 2017 à 09:03
Bonjour Thev,

Merci pour votre retour et modif.
Après un 1er test, ca semble marcher, mais je ferai quelques tests plus poussés pour m'assurer que tout est ok.

Encore une fois, un grand merci pour votre aide.
Très belle journée,
0
Niconz Messages postés 313 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 13 août 2024
11 sept. 2017 à 15:13
Bonjour Thev,

Oui, encore moi, désolé :)

Tout marche presque parfaitement suite à nos derniers échanges, sauf que lorsque les e-mails de rappels sont envoyés, la personne qui devrait être mis en cc ne l'est plus...
Pas de message d'erreur ou quoique ce soit, juste que personne n'est mis en cc du mail.

Une petite idée de comment corriger ca ?

Merci, bonne journée,
0