Message d'alerte si problème de saisie dans des dates

Salut le forum

Dans le fichier joint je souhaiterai faire une petite macro qui m’avertirait par un msgbox lorsqu’il y a une erreur dans la saisie du format des dates des colonnes « G » et « H » mais également si par erreur la date dans la colonne « G » qui correspond au début de la formation est antérieur à celle de la colonne «H » qui correspond à la fin de la formation. En exécutant cette macro j’éviterai que la macro « Sub controle() » lancée par le bouton « Chevauchement de dates » bug.

Par exemple dans le fichier joint j’ai volontairement fait une erreur de saisie à la formation SH63 (ligne 19 et 20) et à la formation SZ63 (lignes 27 et 28) où la date de fin est plus récente que la date de début.

Merci par avance aux VBAcien

Bonjour

Pourrait être fait par Validation de données mais il y a déjà une fausse date (un texte et non une date) en G19

Bonjour à tous

Un essai à tester. Te convient-il ?

Bye !

Salut le forum,

Merci à 78chris et à gmb pour vos réponses.

Pour 78chris : Je ne connais pas le principe de Validation de données mais s'il ne peut pas fonctionner avec une date fausse ça ne peut pas aller car c'est pour éviter ce type d'erreur que je voulais une macro.

Pour gmb : Toujours efficace des macros et celle-ci ne fait pas exception . Elle donne le résultat attendu même si au départ je partais sur un contrôle à postériori, le faire au moment de la saisie n'est pas plus mal.

Seul "petit" problème c'est que je n'arrive pas à comprendre pourquoi j'ai le message "Date incorrecte à la ligne 4" lorsque je lance la macro "Sub Classer_par_nom_Verrouillage_coloriage_des_cellules_et_fusion()" du module 1 avec le bouton "Coloriage" dans le fichier joint or que ce n'est pas le cas.

Ce message n'empêche pas l'exécution du coloriage par la macro mais si on pouvait éviter ce "petit" message surtout que la formation à la ligne 4 (code RI83) à des dates correctes ça serait plus cohérent.

Cordialement.

Bonjour

philippe.p@ a écrit :

Pour 78chris : Je ne connais pas le principe de Validation de données mais s'il ne peut pas fonctionner avec une date fausse ça ne peut pas aller car c'est pour éviter ce type d'erreur que je voulais une macro....

Justement la validation refuse toute date qui n'en est pas une et peut contrôler sa valeur.

Il est toujours préférable d'éviter les problèmes en amont que de les traiter en aval...

La validation permett aussi de repérer les "fausses dates" a posteriori si saisie faite avant le mise en place des règles

Salut gmb et 78chris

Pour gmb :

Ta correction fonction mais est-ce que tu peux m'expliquer quel était le problème ?

En étudiant la macro "Sub Classer_par_nom_Verrouillage_coloriage_des_cellules_et_fusion()" j'ai remarqué que tu as ajouté la ligne de commande " Application.EnableEvents = False" dans :

'alerte si différence entre colonne I et J de Feuil2 (Liste AF à compléter par DATES)

Application.Run "Feuil2.Ctrl_colonnesIJ"

If alerte Then MsgBox message: Exit Sub

Application.EnableEvents = False

et tu l'as remis en true juste avant la fin de la procédure dans :

Call FusionsEtClassement

Application.ScreenUpdating = True

Application.EnableEvents = True

End Sub

Je crois que c'est les seules modifications que tu as apportées ou y en a-t-il d'autres ? Merci.

Pour 78chris : Merci pour ta réponse mais la macro de gmb me donne le travail demandé alors je prends mais si tu peux me proposer ta solution avec les validations de données cela me permetttrait de mieux comprendre ce principe et voir qu'est-ce qui est mieux entre la macro de gmb et la validation de données.

Cordialement

philippe.p@ a écrit :

Je crois que c'est les seules modifications que tu as apportées ou y en a-t-il d'autres ?

Non, il n'y en a pas d'autres.

Le problème venait de ta macro qui au cours de son travail modifie le contenu de certaines cellules, (quand tu défusionnes notamment). Lorqu'elle faisait ça, elle déclenchait le lancement automatique de la macro événementielle ''Sub Worksheet_Change" avec les conséquences indésirables que tu sais.

Les deux instructions que j’ai ajouté n’ont d’autre utilité que de n’exécuter que ta macro, sans décrochage non désiré.

OK ?

Bye !

Salut gmb,

Merci pour tes explications et ta macro toujours efficace

Je mets ma question en résolue.

Cordialement.

Rechercher des sujets similaires à "message alerte probleme saisie dates"