Champs obligatoire

tophe76

XLDnaute Nouveau
Bonjour,

Dans mon fichier ci-joint, je souhaiterai :
- dans le champs date que le format soit en date

De plus, je voudrai savoir si il y a une possibilité que si un champs du formulaire ne soit pas remplis qu'on ne puisse pas le validé.

Et pour finir, je souhaiterai quand on appuie sur tabulation, la selection se faisse dans l'ordre des champs

Merci par avance pour votre aide

Cordialement
 

Pièces jointes

  • essai d'excel.xls
    98 KB · Affichages: 64

Jam

XLDnaute Accro
Re : Champs obligatoire

Salut Tophe, camarchepas, Gelinotte, le forum,

Pour choisir l'ordre de tabulation il te suffit d'aller dans les propriétés de l'objet et d'ajuster les 2 propriétés suivantes:
TabStop -> mettre sur True
TabIndex -> Indiquer le numéro d'ordre.

Autre solution, passer par le menu Affichage>Ordre de tabulation puis dans la fenêtre qui s'affiche, ordonner les tabulations.

Bon courage.
 

Jam

XLDnaute Accro
Re : Champs obligatoire

tophe,

Il existe 2 possibilités à ma connaissance (aucune n'est vraiment simple):
Soit on gère la date dans la Textbox, soit on utilise un objet type ActiveX qui gère les calendrier comme DatePicker (solution plus complexe à mettre en oeuvre). Pour ce dernier, tu peux jeter un oeil à ce lien Activation du contrôle de calendrier et DatePicker pour MS Excel 2010 qui te donnera quelques indications précieuses.
Concernant la première solution, il faut que tu gères le format via le code. Je t'invite à charger la solution de Robert que tu trouveras là https://www.excel-downloads.com/threads/controle-de-date-en-vba.49196/.

Bon courage
 

Jam

XLDnaute Accro
Re : Champs obligatoire

tophe,

Il existe 2 possibilités à ma connaissance (aucune n'est vraiment simple):
Soit on gère la date dans la Textbox, soit on utilise un objet type ActiveX qui gère les calendrier comme DatePicker (solution plus complexe à mettre en oeuvre). Pour ce dernier, tu peux jeter un oeil à ce lien Activation du contrôle de calendrier et DatePicker pour MS Excel 2010 qui te donnera quelques indications précieuses.
Concernant la première solution, il faut que tu gères le format via le code. Je t'invite à charger la solution de Robert que tu trouveras là https://www.excel-downloads.com/threads/controle-de-date-en-vba.49196/.

Bon courage
 

job75

XLDnaute Barbatruc
Re : Champs obligatoire

Bonsoir à tous,

Ce code dans l'USF contrôlera le format de la TextBox TDate :

Code:
Private Sub Tdate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TDate <> "" And Not (TDate Like "##/##/####" And IsDate(TDate)) Then
  Cancel = True
  MsgBox "Entrez une date au format jj/mm/aaaa"
  TDate = ""
End If
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Champs obligatoire

Re,

Bien sûr si le format de la date n'a pas d'importance :

Code:
Private Sub Tdate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TDate <> "" And Not IsDate(TDate) Then
  Cancel = True
  MsgBox "Date non valide !", 48
  TDate = ""
End If
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Champs obligatoire

Re,

Cela dit en VBA les dates vont de l'an 100 à l'an 9999...

Si l'on veut des années postérieures à 2011 :

Code:
Private Sub Tdate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim an As Integer
If IsDate(TDate) Then an = Year(CDate(TDate))
If TDate <> "" And (Not TDate Like "##/##/####" Or an < 2012) Then
  Cancel = True
  MsgBox "Entrez une date au format jj/mm/aaaa à partir de l'année 2012"
  TDate = ""
End If
End Sub
Code:
Private Sub Tdate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim an As Integer
If IsDate(TDate) Then an = Year(CDate(TDate))
If TDate <> "" And an < 2012 Then
  Cancel = True
  MsgBox "Entrez une date valide à partir de l'année 2012"
  TDate = ""
End If
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 453
Messages
2 088 551
Membres
103 881
dernier inscrit
malbousquet