Rendre obligatoire la saisie

Bonsoir,

Comment rendre obligatoire la saisie de chiffres dans ma boite de formulaire ?

Private Sub IntPivot_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Dim TxtOk As String
  TxtOk = "ABCDEÉÈFGHIJKLMNOPQRSTUVWXYZ "" 0123456789"
  If InStr(1, TxtOk, Chr(KeyAscii), vbTextCompare) = 0 Then KeyAscii = 0
End Sub

Merci et bonne nuit

Bonjour anniem

C'est pourtant simple, vous avez l'évènement et la procédure

Il suffit de changer le TxtOk

 TxtOk = "0123456789"

Ou si on veut pourvoir saisir une virgule

 TxtOk = "0123456789,"

A+

Bonjour BrunoM45,

Le code accepte un ou l'autre soit les lettres alphabétiques et ou les nombres. J'aimerais que la saisie des lettres ainsi que celle des nombres soit obligatoire.

Je n'ai peut-être pas bien saisie.

anniem

Bonjour anniem,

Je pense qu'il faudrait déjà savoir ce que vous voulez exactement ou je n'ai pas compris la question

Comment rendre obligatoire la saisie de chiffres dans ma boite de formulaire ?

Je vous donne donc la solution en ne mettant que des chiffres...

A+

Bonsoir BrunoM45,

Évidemment, je me suis mal exprimée. J'aimerais rendre obligatoire la saisie de lettre et de chiffre dans la textbox. Cette textbox m'est utile pour entrer le nom du professionnel mais également son numéro de pratique médicale. Les deux doivent être indiqués. Dans le moment, la textbox permet l'inscription avec seulement le nom alors du coup, si j'omet le numéro de pratique, celui-ci n'apparait pas dans mon formulaire.

Merci pour votre temps.

Bonjour anniem

Voici une possibilité, empêcher la sortie de la TextBox si le nombre de chiffres n'est pas correcte

Private Sub IntPivot_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim iCar As Integer, NbNum As Integer
  ' Initialiser le nombre de chiffre
  NbNum = 0
  ' vérifier la saisie avant sortie
  For iCar = 1 To Len(Me.IntPivot.Value)
    If IsNumeric(Mid(Me.IntPivot, iCar, 1)) Then
      NbNum = NbNum + 1
    End If
  Next
  ' Sortie de la boucle on vérifie le nombre de caractères numériques
  ' Nota : j'ai mis 10 au hasard
  If NbNum < 10 Then
    MsgBox "Le numéro de pratique médicale doit contenir 10 chiffre", vbExclamation, "ERREUR SAISIE"
    Cancel = True
  End If
End Sub

J'ai pris 10 chiffres au hasard

A++

Le tout fonctionne très bien.

Merci !

Rechercher des sujets similaires à "rendre obligatoire saisie"