Validation de donnees+vba

Dan Paul

XLDnaute Nouveau
Bonjour,

je dois valider des donnees contenues dans un textbox.

Dans mes modules, j'ai une fonction qui verifie si la valeur est permise et, si elle ne l'est pas, affiche un MsgBox indiquand que la valeur n'est pas permise.

Mon probleme est qu'une fois le message affiche, le textbox suivant est active.

Comment fait-on pour arreter l'incrementation du tabindex?

Merci
Dan

Code:
Private Sub txtCedPolNbND_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Call polnb(txtCedPolNbND.Value)
End Sub
Code:
Public Function polnb(pol)
If IsNumeric(pol) Then
    If Not Len(pol) <= 15 Then
        MsgBox ("Please enter a valid Cedind policy number")
    End If
Else
    MsgBox ("Please enter a valid Cedind policy number")
End If
End Function
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Validation de donnees+vba

Bonsoir,

Code:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
  Cancel = polnb(TextBox1.Value)
End Sub

Public Function polnb(pol)
If IsNumeric(pol) Then
    If Not Len(pol) <= 3 Then
        MsgBox ("Please enter a valid Cedind policy number")
        polnb = True
    Else
      polnb = False
    End If
Else
    MsgBox ("Please enter a valid Cedind policy numberxx")
    polnb = True
End If
End Function

JB
 

Dan Paul

XLDnaute Nouveau
Re : Validation de donnees+vba

mais dans le cas ou je me servais de cette procedure pour modifier ma donnee, comment je peux appliquer la meme chose?

Code:
Private Sub txtEndDND_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
txtEndDND.Value = datev(txtEndDND.Value)
End Sub

Code:
Public Function datev(dt)

If IsDate(dt) Then
    datev = Format(dt, "yyyymmdd")
Else
    MsgBox ("Please enter a valid date")

End If

End Function

MErci
 

Statistiques des forums

Discussions
312 379
Messages
2 087 761
Membres
103 661
dernier inscrit
fcleves