Message d'alerte à l'ouverture si date inférieur à 2 mois

Bonsoir le forum,

Me revoilà pour une aide sur une nouvelle macro.

Est-t-il possible qu’à l’ouverture de mon fichier dont un extrait est joint un message d’alerte apparaisse à l’ouverture avec les conditions suivantes :

- lorsque la date de début de la formation située en colonne G est inférieur à la date du jour plus deux mois (ex. aujourd’hui 02/08/2017 message d’alerte pour les formations avec une date inférieur au 01/10/2017) ;

- si dans la colonne S (N° enregistrement) il n’y a rien d’inscrit (cellule vide) ou est inscrit le mot clef « 02- Incomplète ».

Par exemple dans le fichier joint il y a 4 formations dont la date est inférieure à la date du jour (02/08/2017) plus deux mois ce sont la RI83 (lignes 3 et 4), la QV49 (lignes 5 et 6), la TT80 (lignes 7 et 8) et la TT81 (lignes 9 et 10). Le message d’alerte devrait afficher :

« Attention la ou les formations QV49, TT80 ont une date de début à moins de deux mois avec certaines lignes en colonne S vides ou renseignées incomplètes. Ces lignes sont les lignes 6, 7, 8 ».

La précision des lignes dans le msgbox est un plus et si c’est trop compliqué tant pis. La formation RI83 (lignes 3 et 4), la ligne 5 de la formation QV49 et la formation TT81 n'apparaissent pas dans le message car dans la colonne S n'est pas vide ou il n'est pas inscrit « 02- Incomplète ».

Voilà je ne sais pas si j'ai été clair pour VBAistes ou Excelistes qui vont peut-être essayer de me trouver quelque chose.

Cordialement.

Bonjour Philippe.p@

Voici ton fichier avec une façon de faire

A+

Salut BrunoM45,

Merci et bravo pour ta macro qui donne le travail que je souhaitais cependant à son exécution je me demande s'il n'est pas possible de façon à avoir une meilleur lisibilité que dans la partie du message où le "couple" formation/ligne apparait (QV49 - Ligne :6 etc.) que le code de la formation soit en gras et qu'un retour à la ligne soit fait dans le msgbox. Exemple au-lieu de lire :

QV49 - Ligne : 6 / TT80 - Ligne :7

lire

QV49 - Ligne : 6

TT80 - Ligne :7

A la lecture de ta macro deux petites questions :

- Je ne comprends pas à quoi correspond #1, #2 et #3 ? Je ne l'ai vois pas déclaré en DIM. Est-ce une particularité de VBA ?

- Pourquoi tu dois supprimer les caractères de fin avec ta ligne : " sForm = Left(sForm, Len(sForm) - 3)"

Enfin merci encore et sans attendre la petite adaptation "visuelle" (si c'est possible) que je précisais au début du message, je mets ma question en résolu.

Cordialement.

Salut

philippe.p@ a écrit :

Merci et bravo pour ta macro qui donne le travail que je souhaitais cependant à son exécution je me demande s'il n'est pas possible de façon à avoir une meilleur lisibilité que dans la partie du message où le "couple" formation/ligne apparait (QV49 - Ligne :6 etc.) que le code de la formation soit en gras et qu'un retour à la ligne soit fait dans le msgbox. Exemple au-lieu de lire :

QV49 - Ligne : 6 / TT80 - Ligne :7

lire

QV49 - Ligne : 6

TT80 - Ligne :7

Figure toi que c'est ce que j'avais fait initialement et j'ai peur que ça prenne trop de ligne, mais pourquoi pas

philippe.p@ a écrit :

A la lecture de ta macro deux petites questions :

- Je ne comprends pas à quoi correspond #1, #2 et #3 ? Je ne l'ai vois pas déclaré en DIM. Est-ce une particularité de VBA ?

Non, c'est une particularité de BrunoM45

C'est juste pour que tu es le singulier ou le pluriel dans ton texte, selon le nombre de formations trouvées

philippe.p@ a écrit :

- Pourquoi tu dois supprimer les caractères de fin avec ta ligne : " sForm = Left(sForm, Len(sForm) - 3)"

Sinon tu te retrouves avec "ESPACE/ESPACE" à la fin de tes formations.

Voici le fichier modifié

Merci pour tes éclaircissements et encore une fois pour ta macro.

Cordialement

Rechercher des sujets similaires à "message alerte ouverture date inferieur mois"