Message d'alerte à l'ouverture si date inférieur à 2 mois Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 338
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 2 août 2017, 21:33

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. :wink:

Cordialement.
alerte si date inférieur à deux mois.xlsm
Extrait fichier
(95.92 Kio) Téléchargé 22 fois
Avatar du membre
BrunoM45
Membre impliqué
Membre impliqué
Messages : 2'863
Appréciations reçues : 86
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 3 août 2017, 00:59

Bonjour Philippe.p@

Voici ton fichier avec une façon de faire :wink:

A+
Philippe.p_Alerte si date inférieur à 2 mois.xlsm
(84.76 Kio) Téléchargé 40 fois
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 338
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 3 août 2017, 06:55

Salut BrunoM45,

Merci et bravo :D 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.
Avatar du membre
BrunoM45
Membre impliqué
Membre impliqué
Messages : 2'863
Appréciations reçues : 86
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 3 août 2017, 12:53

Salut :wink:
philippe.p@ a écrit :Merci et bravo :D 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 ::D
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 :lol:
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é :wink:
Philippe.p_Alerte si date inférieur à 2 mois.xlsm
(102.54 Kio) Téléchargé 43 fois
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 338
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 3 août 2017, 16:13

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

Cordialement
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message