Rajout d'une macro

Bonjour,
sur un fichier que j’ai et que @FFO m’a déjà bien arrangé, je souhaiterai rajouter une option, mais voila les macro, c’est pas trop ma tasse de thé.

En fait j’ai une macro de rappel de commande qui envoie un mail si dans la ligne a la date du jour se trouve un certain nom, et qui fonctionne très bien… ce qui me manque serait pour la même feuille une macro qui enverrai un mail de rappel qu’il faut penser a faire la commande a tout les participants (ont est juste a juste 2) si aucune commande n’est enregistré au lendemain.
Et idéalement que cette macro ne s’active qu’a partir d’une certaine heure, (j’ai deja planifier l’ouverture du fichier a 00h01 pour le mail de commande et je voudrais éviter que le mail de rappel s’envoie en même temps) par exemple 17h sachant que la limite de commande est a 18h.

Merci d’avance pour le coup de main
Fichier forum.xlsm (70,7 Ko)

Bonsoir

« si aucune commande n’est enregistré au lendemain. »

Quelle donnée est en charge de donner cette information ? dans quelle celulle ?

« Et idéalement que cette macro ne s’active qu’a partir d’une certaine heure
par exemple 17h »

Comme pour le premier c’est l’ouverture du classeur qui déclenchera la procédure
A charge à toi comme pour le mail actuel de rappel commande qui déclenche son ouverture à 00h01 de réaliser la même opération à 17h

il nous faudra aussi tous ces éléments :

MonMessage.SentOnBehalfOfName = "taz067@gmail.com"                          '******* ADRESSE MAIL EXPEDITEUR    *********
MonMessage.To = "taz067@gmail.com"                                          '******* ADRESSE MAIL TESTE         *********
MonMessage.Subject = "Commande BaguetteBox"                                 '******* OBJET DU MAIL              *********

        '********TEXTE MAIL*******
        
        Contenu = "Salut voisins,"
        Contenu = Contenu & VBA.Chr(10) & VBA.Chr(13)
        Contenu = Contenu & "Voila votre commande pour aujourd'hui."
        Contenu = Contenu & VBA.Chr(10) & VBA.Chr(13)
        Contenu = Contenu & Temp
        Contenu = Contenu & VBA.Chr(10) & VBA.Chr(13)
        Contenu = Contenu & "Bon appétit, et Bonne journée."

Merci pour tes réponses

Salut FFO
le lendemain de la date du jour dans le tableau, en fait la dernière cellule du tableau commande dans le fichier fourni la dernière cellule avec une commande est la cellule E5 (dimanche 12 /9) donc la macro devrais vérifier si dans la cellule E6 une date est renseigné si cellule non vide = commande donc pas d’envoie, si cellule E6 vide envoie du mail de rappel.
mon « soucis » et que si ont ne peut pas mettre une heure d’activation de cette macro, elle enverras le mail en même temps que le mail de commande et du coup n’aurais plus l’effet « rappel de commande » voulut.
L’ouverture du fichier a une heure précise ne me pose pas de soucis vue que je l’ai déjà programmer pour une ouverture a 00h01 je saurait programmer l’ouverture a 17h00

Pour ce qui est des adresses mail prendre les même que dans le fichier actuel, je saurait rajouter celle de mon voisin, (dans le fichier original j’ai rajouter des adresse CC et BCC )

Capture d’écran 2021-09-11 210102

« mon « soucis » et que si ont ne peut pas mettre une heure d’activation de cette macro, elle enverras le mail en même temps que le mail de commande et du coup n’aurais plus l’effet « rappel de commande » voulut. »

Non cet envoi ne s effectuera pas en même temps car la condition du jour ne sera pas à la date de la cellule colonne A comme pour l envoi du mail actuel mais le lendemain date de la cellule colonne A+1
Reste le pb de l heure à résoudre car si tu programmes l ouverture du fichier à 17h pour le déclenchement de la procédure à J+1 je suppose que ce fichier dans cette même journée aura eu d autres ouvertures donc avec obligatoirement l envoi sauf si je le bride en fonction de l heure ou à moins qu un départ dans la bonne journée plutôt ne soit pas un inconvenient
A toi de me dire
Pour le jour pas pb
Pour l heure c est toi qui dite
Une petit proposition qui résoudrait peut être cette aspect d horaire est d un envoi non pas à J+1 mais à J+2

en fait les commandes sont a passé la veille du jour de livraison avant 18h, si le mail ne part que le jour J les commandes ne seront pas validé, l’heure limite pour la livraison du lendemain étant a 18h (commande pour lundi a passé dimanche avant 18het ainsi de suite…) , l’ouverture du fichier ne seras faites que par moi et souvent (la plus part du temps) les commandes son faites pour la semaine courante, éventuellement limité l’envoie de mail a une occurrence par jour comme pour la macro de solde (dans l’onglet commande) qui a ete faite de manière a ce que après l’envoie du mail la macro renseigne la cellule B1
Capture d’écran 2021-09-11 215722

Donc en conclusion envoi du 2° mail à J+1 avec une heure précise à respecter ?

pour l’heure j’aurais une préférence 17h00, ça laissera a mon voisin et moi même le temps de passée commande et de remplir le fichier en conséquence, mais sinon comme ce n’est que moi qui ouvre le fichier pour les mises a jour, si ouverture ce seras par moi même.

Bonjour

En espérant avoir bien compris mais ce n’est pas garanti !!!
Ci-joint ton fichier avec cette évolution :
à son ouverture recherche en colonne E de la dernière cellule avec la date du jour et vérification d’une saisie sur la suivante
Si absence d’une saisie et si l’heure en cours est égale ou supérieure à celle intégrée en cellule B1 (17h00 mis en place peut être modifié) déclenchement de la procédure « Sub Rappel_CommandPain() »

Cette procédure a été placée après celle "Sub CommandPain()) dans le ThisWorkbook

Elle est à actualiser de tous ses paramètres (destinataires, expéditeur, objet, contenu etc…)

Je n’ai pu faire des essais n’ayant pas installé sur mon PC l’application Outlook

Je compte sur toi pour cela

Il va de soit qu’une ouverture de ce fichier est nécessaire pour l’exécution de cette procédure

Fais moi un retour

Fichier forum.xlsm (70,7 Ko)

salut,
pour rappel juste pour la bonne compréhension, aujourd’hui dimanche (colonne E, cellule du jour) et ce tout les jours je souhaiterai qu’a l’ouverture du fichier a l’heure fixer par moi (soit 17h00) avec le planificateur de taches de Windows, une macro vérifie que le lendemain (colonne E) , la cellule sous le jour (ici dimanche) soit non vide ou a la date du lendemain (je ne sais pas si la macro considère une formule dans cette cellule comme cellule vide) si la macro détecte une cellule vide envoie du mail de rappel !
en intégrant ta macro ( et en modifiant l’heure) ça ne fonctionne pas et de plus la macro pour la commande de pains ne fonctionne plus non plus.

a ce titre pourquoi avoir paramétrer la cellule B1 pour l’horodatage sachant que cette cellule était déjà en fonction pour l’envoie du mail en cas de solde négatif, du coup j’ai déplacer l’horodatage en cellule AO1 et mis la référence dans la macro AO1
du coup je te joint une copie de mon fichier original avec tes/ta macro
Pains.xlsm (220,6 Ko)

Rebonjour
« en intégrant ta macro ( et en modifiant l’heure) ça ne fonctionne pas et de plus la macro pour la commande de pains ne fonctionne plus non plus. »

Que se passe t’il exactement ?

Plantage aucun effet ou autre ???
Quoi en détail

Lorsque je teste en mettant en cellule B1 14:00:00 et un message d’alerte indiquant l’envoi du message à la place de la procédure d’envoi du mail en fin de ma nouvelle procédure car n’ayant pas Outlook je l’obtiens bien à l’ouverture du fichier :

J’ai opté pour la cellule B1 car il n’y avait aucune donnée et ainsi te permettre d’avoir la main sur l’horaire de déclenchement
Maintenant si tu préfères je peux la mettre en dur dans le code
A toi de me dire

En ce qui concerne la première macro d’envoi commande de pains je ne suis pas intervenu dessus

Tu dois avoir un Pb chez toi car chez moi elle m’handicape pour mes tests car elle déclenche à chaque ouverture j’ai dû l’inhiber

Avec ton dernier fichier transmis et l’utilisation de la cellule AO1 pour l’heure de déclenchement (13:00) ayant intégré le message de confirmation d’envoi du mail avant exécution de sa procédure à l’ouverture de celui-ci j’ai le message :

Pour moi c’est donc opérationnel

A toi de me dire ce que tu constates chez toi

Je te transmet ton dernier fichier avec l’intégration du message

Dis moi si tu l’obtiens et ce qui passe si tu le valides (« Oui »)

Pains.xlsm (216,0 Ko)

Merci pour tes retours

Je ne suis pas chez moi pour le moment, sans intégrée la nouvelle macro le mail de commande s’envoie bien, et après l’intégration plus rien, le fichier s’ouvre simplement, (en ayant au préalable modifier la date en D1 et enregistré le fichier) puisque si D1 est a la date du jour la macro commande ne s’exécute pas, comme s’il n’y avait pas de macro,
Je testerais en cours d’après midi

Désolé ma nouvelle procédure est à la suite de la précédente donc ne l influe en rien
As tu avec le dernier fichier transmis le message de validation ?
Merci de me dire

re
j’ai trouve le pourquoi, je ne sais pas pourquoi mais les macros ont été désactivé, j’ai due aller dans les options de sécurité des macros pour décocher la case (désactiver les macro non signé)
par contre je viens de voir que le mail de rappel inclus aussi la commande du jour
et oui j’ai le fichier avec la demande de validation, et le mail de rappel me mets la commande du jour dans le corps du mail

Edit: j’ai « désactivé » la message box et ça fonctionne toujours, mais avec toujours la cde du jour

Edit 2: c’est bon en désactivant la variable « temp » dans le mail de rappel c’est bon!

macro validée et opérationnel
grand merci FFO

Merci beaucoup à toi
Me voilà rassuré sur le fonctionnement opérationnel du fichier et que le deuxième traitement corresponde parfaitement à ton attente
On laisse donc en cellule AO1 le paramètre de l heure de déclenchement du deuxième mail le rappel de la commande
Ainsi il est à ta main
Je reste à ta disposition si besoin
Au plaisir

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.