base de données . contrôle de saisie formulaire

  • Initiateur de la discussion Initiateur de la discussion khephrens
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

khephrens

XLDnaute Occasionnel
bonjour à tous

je m'exerce à la création d'une base de données pour me former au vba

je vous joins un fichier pour une meilleure compréhension

mon problème est le suivant
j'aimerais que le curseur de la souris reste dans le champ date du formulaire tant que celui ci n'est pas complété correctement

j'aimerais également que si tous les champs du formulaire sont vides, le formulaire se ferme, en cliquant sur le bouton ok, sans jouer la macro associé à ce bouton

merci pour votre aide
Khephrens
 

Pièces jointes

Re : base de données . contrôle de saisie formulaire

Bonjour,

Pour la date : remplace ta procédure par celle-ci :

Private Sub champ_dte_exit(ByVal Cancel As MSForms.ReturnBoolean)

'verifie que la date est valide
If Not IsDate(champ_dte) Then
Cancel = True

MsgBox "votre date n'est pas correcte"
champ_dte = ""
Else
'verifie que la date n'est pas sup à la date du jour
If CDate(champ_dte) > Now() Then
MsgBox " Votre date doit être inférieure ou égale à la date du jour"



End If
End If
End Sub


a+


concernant l'ensemble des valeurs à blanc : plutôt que de contrôler toutes les saisies, s'il y en a une ou deux obligatoires, il suffit de contrôler celles-ci en début de programme. si elles sont à blanc : Message et Exit Sub (pour ne pas exécuter la suite
 
Dernière édition:
Re : base de données . contrôle de saisie formulaire

bonjour et merci bcp car je ne m'en sortais pas 🙂
j'ai légèrement modifié pour obtenir ce que je voulais 🙂


Private Sub champ_dte_exit(ByVal Cancel As MSForms.ReturnBoolean)

'verifie que la date est valide
If Not IsDate(champ_dte) Then
Cancel = True

MsgBox "votre date n'est pas correcte"
champ_dte = ""
Else
'verifie que la date n'est pas sup à la date du jour
If CDate(champ_dte) > Now() Then
Cancel = True
MsgBox " Votre date doit être inférieure ou égale à la date du jour"
champ_dte = ""


à bientôt

End If
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
696
Réponses
4
Affichages
306
Réponses
3
Affichages
818
Réponses
7
Affichages
702
W
Réponses
3
Affichages
430
Retour