Saisie contrôlée d'une date sans calendrier

Bonjour,

L'utilisation d'un calendrier peut devenir incommode pour la saisie de certains types de date comme une date de naissance. C'est pourquoi, j'ai développé un petit module de classe permettant la saisie contrôlée d'une date dans un formulaire.

Ce module se compose d'un modèle et de 2 méthodes : "affecter_modèle" et "saisir". Il doit être associé à une icône calendrier qui appellera le modèle via la méthode : "affecter_modèle".

ci-joint le module via un exemple pour la saisie d'une date de naissance

43date-naissance.xlsm (27.05 Ko)

Edit : modif suite au premier retour

Bonsoir Thev

Il faudra nous en dire un peu plus sur ton classeur

Si je lance l'USF et que je veux saisir une date, c'est impossible !?

A+

Bonsoir Bruno,

Effectivement, j'ai oublié de préciser qu'il faut cliquer sur l'icône calendrier.

Bonsoir,

cette ligne me provoque la bascule de mon verrouillage numérique : Application.SendKeys "{TAB}", True. C'est un problème dont j'ai déjà entendu parlé sur le net. Patriktoulon je crois sur un autre site...

Le bouton Valider n'a pas de code ? C'est juste pour savoir, ce n'est pas un problème.

Personnellement j'ai l'habitude de taper 12/02/2022 pour entrer une date, ici si on le fait cela provoque une erreur sur le mois car le test obtient "/0" pour la validation du numéro de mois... Il faudrait une "interdiction du slash ou du tiret ou du point lors de la saisie.

Le début de contrôle pourrait se faire soit par l'entrée dans la textbox si le contenu n'est pas une date soit par le clic sur le calendrier.

J'ai ajouté un test de compatibilité entre le numéro du jour et celui du mois pour ne pas attendre la fin de la saisie pour indiquer une erreur soit du jour soit du mois. Dans tous les cas pour le 29/02/2015 il faudra attendre la saisie totale pour voir l'erreur.

Merci pour ce partage thev !

@ bientôt

LouReeD

Bonsoir LouReed,

cette ligne me provoque la bascule de mon verrouillage numérique : Application.SendKeys "{TAB}", True. C'est un problème dont j'ai déjà entendu parlé sur le net. Patriktoulon je crois sur un autre site...

Je n'avais pas fait attention mais effectivement il ne faut pas utiliser cette instruction, mais

CreateObject("WScript.Shell").SendKeys "{TAB}"

A+

Bonjour Bruno et Loureed,

LouReeD a écrit :

cette ligne me provoque la bascule de mon verrouillage numérique : Application.SendKeys "{TAB}", True. C'est un problème dont j'ai déjà entendu parlé sur le net. Patriktoulon je crois sur un autre site...

Je n'avais pas fait attention mais effectivement il ne faut pas utiliser cette instruction, mais

CreateObject("WScript.Shell").SendKeys "{TAB}"

Effectivement, mais ce n'est pas systématique. J'ai effectué la correction préconisée par Bruno

33date-naissance.xlsm (21.59 Ko)
Rechercher des sujets similaires à "saisie controlee date calendrier"