XL 2019 Obliger la saisie dans un Textbox ou un Combobox

Optimal

XLDnaute Junior
Bonjour à tous

Dans le code suivant je voudrais pouvoir imposer une saisie sur :

txtDate
cboTypejournee
cboService1
cboPeC1

Comment faut il procéder ?

Merci d'avance




VB:
Private Sub btnValider_Click()


    Dim i As Integer

    i = 1
    
    Do While Cells(i, 1) <> ""
    
        Cells(i, 1).Offset(1, 1).Select
        i = i + 1
    
    Loop

 
    ActiveCell.Offset(0, 1).Value = Format(Me.txtDate, "DD/MM/YYYY")
    ActiveCell.Offset(0, 4).Value = Me.cboTypejournee.Value
    ActiveCell.Offset(0, 5).Value = Me.cboPeC1.Value
    ActiveCell.Offset(0, 6).Value = Me.cboService1.Value
    ActiveCell.Offset(0, 7).Value = Me.cboPeC2.Value
    ActiveCell.Offset(0, 8).Value = Me.cboService2.Value
    ActiveCell.Offset(0, 9).Value = Me.cboPeC1.Value
    ActiveCell.Offset(0, 10).Value = Me.cboService3.Value
    ActiveCell.Offset(0, 11).Value = Me.cboPeC4.Value
    ActiveCell.Offset(0, 12).Value = Me.cboService4.Value
    ActiveCell.Offset(0, 13).Value = Me.cboService.Value
    
    
    If ActiveCell.Offset(-1, -1).Value = "NJour" Then
        
        ActiveCell.Offset(0, -1).Value = 1
        
    Else

        ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1) + 1
        Unload Me
    
    End If
 
End Sub
 
Solution
Bonjour,
chaque contrôle dispose d'une propriété TAG utilises la pour définir si un champ est obligatoire.

1647875836103.png


VB:
Private Sub btnValider_Click()
Dim c As Object
For Each c In Me.Controls
    If Not Valider(c) Then Exit Sub
Next

End Sub

Function Valider(c As Object) As Boolean
If c.Tag = 1 Then
    If c = "" Then
        MsgBox c.Name & " est un champ obligatoir", vbExclamation
        c.SetFocus
        Exit Function
    End If
End If
Valider = True
End Function

dysorthographie

XLDnaute Accro
Bonjour,
chaque contrôle dispose d'une propriété TAG utilises la pour définir si un champ est obligatoire.

1647875836103.png


VB:
Private Sub btnValider_Click()
Dim c As Object
For Each c In Me.Controls
    If Not Valider(c) Then Exit Sub
Next

End Sub

Function Valider(c As Object) As Boolean
If c.Tag = 1 Then
    If c = "" Then
        MsgBox c.Name & " est un champ obligatoir", vbExclamation
        c.SetFocus
        Exit Function
    End If
End If
Valider = True
End Function
 

Optimal

XLDnaute Junior
@dysorthographie

Juste une petite question concernant la saisie de ma date

j'utilise ce code pour mon combobox
VB:
ActiveCell.Offset(0, 1).Value = Format(Me.txtDate, "DD/MM/YYYY")

Seul problème dans ma base je me retrouve avec la date en format texte, existe t'il un moyen pour que la saisie s'effectue en format date ?