Pas de chiffres dans une combo

  • Initiateur de la discussion Initiateur de la discussion Garba
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Garba

Guest
Bonjour à tous,

j'essaye nerveusement depuis deux jours d'interdire à l'opérateur de saisir des chiffres dans une combobox, mais je n'y arrive pas!!
Je sais faire (j'ai copié) pour interdire la saisie de lettres où des chiffres sont attendus.

Sub JyArrivePas

Dim NombCh As Integer

' On indique le gestionnaire d'erreur
On Error GoTo PasUnNombre

' On récupère la valeur chaine
NombCh = NumFiche.Text

msgbox "Bonne saisie, félicitations", vbOKOnly, "BRAVO !!!"

Exit Sub

' Gestion de l'erreur de saisie dans le numéro de fiche
PasUnNombre:
MsgBox "Un numéro ne comporte que des chiffres", vbOKOnly, "STOP AUX MOUFLES"

End Sub

Naïvement, j'ai cru qu'en remplaçant integer par string dans la déclaration. Le On Error déclencherait sur les caractères non "string" mais non.

Je suis sur que c'est rien du tout, mais je suis bloqué.
Merci de votre aide!!

Garba
 
Bonjour le forum
Bonjour Garba

Voici un code de notre ami Thierry qu'il a lui même repris de STéphane mis au goût du jour pour ton problème :


Private Sub comboBox1_Change()
If IsNumeric(ComboBox1) Then
With ComboBox1
.SetFocus
.SelStart = 0
.SelLength = Len(ComboBox1.Text)
End With
Exit Sub
End If
End Sub

Où tout simplement si tu ne veux pas que ton User saisisse autre chose que ce qui figure dans ta liste de données (Additem) tu places la propriété Style de ton Cbo à 2 - fmStyleDropDownList -

@ ++ Eric C
 
bonjour

En complément à Eric C :

Cette macro vérifie la présence d'un chiffre quelque soit sont emplacement,
dans une chaîne de caractère :

Private Sub CommandButton1_Click()
Dim i As Integer
Dim n As String
Dim nombre As Boolean

For i = 1 To Len(TextBox1.Value)
n = Mid(TextBox1.Value, i, 1)
If n >= Chr(48) And n <= Chr(57) Then nombre = True
Next i

If nombre = True Then
MsgBox ("non")
Else
Range("a1").Value = TextBox1.Value
End If

End Sub

salut
Hervé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
379
  • Question Question
Microsoft 365 Pb avec Windows
Réponses
47
Affichages
3 K
Retour