Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.



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.



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
 
Réactions: cp4

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 ?
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…