Macro envoi de mail à une date précise
Bonjour à tous, le forum,
J'ai besoin d'un peu (beaucoup) d'aide pour une macro et comme je sais où trouver les pros d'Excel, je poste ici
Voici l'idée : (j'ai mis un fichier en PJ ou tout est expliqué plus en détail)
J'ai une plage de données avec en colonne D des dates. Je cherche à m'envoyer un mail à l'ouverture du fichier via une macro avec en contenu les valeurs des colonnes B et C; et ce pour les lignes contenant uniquement la date du jour + dates précédentes en cas de jours fériés/week-end.
Et il faudrait que la macro ne s’exécute qu'une fois par jour pour éviter d'être inondé de mail, comme une sorte de rappel/planning de début de journée .
Pour l'envoi du mail j'ai trouvé en farfouillant ici mais j'avoue que la condition de la date + plage de données à envoyer me bloque complètement.
Je ne sais même pas si c'est faisable ^^
Merci
Citizen
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonjour l'ami,
Ci-joint une proposition.
Le fonctionnement mis en place :
- ajout d'une colonne indiquant la date d'envoi du mail
- à l'ouverture du fichier, on recherche la dernière ligne envoyée (dernière ligne renseignée de la colonne "Date envoi mail")
- on parcourt ensuite toutes les lignes jusqu'à la date du jour
- la(les) lignes trouvées sont ensuite transmises en paramètre à la procédure d'envoi de mail
=> procédure à compléter (il y a plein d'exemples sur le forum)
- une fois le mail envoyé, les lignes correspondantes sont mises à jour, avec la date d'envoi du mail
=> si on rouvre le fichier dans la même journée, on ne trouvera donc plus de mail à envoyer
Remarque : gérer un code retour indiquant que l'envoi du mail s'est bien passé, sinon on alimente la date d'envoi alors que le mail n'a pas été réellement envoyé. Autre solution, moins propre : supprimer la date d'envoi dans la colonne "E" en cas d'échec
Remarque 2 : il faut que les dates soit ordonnées (a priori c'est le cas dans l'exemple fourni
Bonne journée
Bouben
Bonjour Bouben,
Merci pour ta réponse, je n'avais effectivement pas pensé à ajouter une colonne avec la date d'envoi du mail pour balayer plus facilement les lignes déjà traitées. Super idée
J'ai pu adapter ton code à mon fichier et ta solution marche au poil mais en en reparlant avec mon responsable (
J'ai beau essayé de l'adapter une nouvelle fois, je bloque.
En PJ j'ai repris ton fichier avec mon problème en Feuil2. Comme tu peux le voir, des échéances sont apparues, des lignes vides vont donc venir s'intercaler entre les lignes pleines. Ça va devenir compliqué d'aller chercher les bonnes lignes mais je sais surtout que les cellules combinées sont une vraie plaie sous Excel pour aller à la pêcher aux valeurs...
Les blocs seront toujours du même nombre de lignes pour un échantillon donné, si cela peut aider ^^.
Est-ce que tu connais une alternative?
Je vais essayer d'avoir une illumination dans l'après-midi
Bon après-midi.
Citizen
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Effectivement, avant de demander une solution c'est mieux de connaître son besoin
L'alternative est la suivante : il faut recoder le traitement, bien sûr.
Heureusement une bonne partie peut être réutilisée.
J'espère que ça te convient.
Bonne soirée
Bouben