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

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

  • basededonnées_v1.xlsm
    30.2 KB · Affichages: 60

CHALET53

XLDnaute Barbatruc
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:

khephrens

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso