Vérifier 4 textbox

Bonjour,

J'ai 4 textbox et je voudrais mettre un msgbox lorqu'on clique sur valide et que

les valeurs rentrées dans les textbox ne sont pas numériques et un message quand les textbox sont vide.

Voilà ce que j'ai fait mais ça ne marche pas car le code attend que des valeurs textes soient rentrées dans les 4 textbox avant d'afficher le msg sur les valeurs non numériques et moi je voudrais qu'il s'affiche dès que la valeur rentrée dans le premier textbox n'est pas numérique.

Enfin, bon, code à revoir!

Merci de m'aider.

Private Sub BoutonValide_Click() ' Le bouton "Valider" a été utilisé

    Dim nbrestes1 As Integer, nbrestes2 As Integer, nbrestes3 As Integer, nbrestes4 As Integer, nbtrestes5 As Integer

    If TextBox1.Value = "" Then
        MsgBox ("Veuillez saisir une valeur dans chaque activité.")
        TextBox1.SetFocus
    Exit Sub

    ElseIf TextBox2.Value = "" Then
        MsgBox ("Veuillez saisir une valeur dans chaque activité.")
        TextBox2.SetFocus
    Exit Sub

    ElseIf TextBox3.Value = "" Then
        MsgBox ("Veuillez saisir une valeur dans chaque activité.")
        TextBox3.SetFocus
    Exit Sub

    ElseIf TextBox4.Value = "" Then
        MsgBox ("Veuillez saisir une valeur dans chaque activité.")
        TextBox4.SetFocus
    Exit Sub

    ElseIf Not IsNumeric(TextBox1.Text) Then
           MsgBox "Seules les valeurs numériques sont acceptables."
           TextBox1.Text = ""
           TextBox1.SetFocus
    Exit Sub

    ElseIf Not IsNumeric(TextBox2.Text) Then
           MsgBox "Seules les valeurs numériques sont acceptables."
           TextBox2.Text = ""
           TextBox2.SetFocus
    Exit Sub

    ElseIf Not IsNumeric(TextBox3.Text) Then
           MsgBox "Seules les valeurs numériques sont acceptables."
           TextBox3.Text = ""
           TextBox3.SetFocus
    Exit Sub

    ElseIf Not IsNumeric(TextBox4.Text) Then
           MsgBox "Seules les valeurs numériques sont acceptables."
           TextBox4.Text = ""
           TextBox4.SetFocus
    Exit Sub

    Else 'suite de la procédure que je n'affiche pas ici

Bonjour,

tu peux contrôler la saisie :

avec ce code, si tu rentres 5 chiffres et une lettre, un msgbox apparait, et il supprime la lettre, en gardant les chiffres

A mettre pour les 4 textbox

Private Sub TextBox1_Change()
If Me.TextBox1 <> "" And Not IsNumeric(Me.TextBox1) Then
    MsgBox "Que du numérique, svp"
    If Len(Me.TextBox1) > 1 Then
        Me.TextBox1.Value = Left(Me.TextBox1, Len(Me.TextBox1) - 1)
    Else
        Me.TextBox1.Value = ""
    End If
End If
End Sub

Si tu en avais eu plus, on serait passé par un module de classe, mais là, pour 4, ça passe.

ok merci Félix mais comment faire que l'utilisateur ne rentre que des lettres?

re-,

en majuscule ou minuscule?

Je voudrais que quand l'utilisateur rentre des valeurs non numériques alors msgbox"valeur non numérique" et si lutilisateur laisse les textbox vide alorx msg"veuillez rentrer des valeurs" , et ceci pour les 4 textbox.

Mon code à un problème de connexion entre ces 2 critères car il prend soit l'un ,soit l'autre et je voudrais qu'il fasse les 2 critères pour chaque textbox.

Re-,

pour le numérique, c'est fait par le code que je t'ai donné

pour un txtbox vide, a l'appui sur le bouton "Valider", tu mets ce code :

Nota, il faut que tes textbox s'appellent TextBox1, TextBox2......

Private Sub CommandButton1_Click()
For i = 1 To 4
    If Me.Controls("TextBox" & i) = "" Then
        MsgBox "Veuillez remplir tous les champs"
        Me.Controls("TextBox" & i).SetFocus
        Exit Sub
    End If
Next i
End Sub

Ok donc je met les 2 codes que tu m'as donné bout à bout et ça marche pour les 4 textbox?

Re-,

Le premier code, tu le dupliques 3 fois, et tu changes :

Private Sub TextBox1_Change() 

en :

Private Sub TextBox2_Change() 

pour le textbox 2......

le deuxième code à mettre dans ton code du bouton valider :

Private Sub BoutonValide_Click() ' Le bouton "Valider" a été utilisé 

PS, tu serais sympa d'attendre, avant de poster sur plusieurs forums...

Si tu n'as pas de réponse dans ce ou ces forums, ou que les réponses ne te satisfont pas, tu peux à la rigueur multi-poster, mais par respect pour ceux qui aident, tu pourrais attendre....

En ce moment, on doit être plusieurs sur ton cas, du temps perdu...

Merci beaucoup Félix c'est super ça marche!!!

Désolé pour en avoir posté plusieurs.

Re-,

plus simple...

Avec ce code, on ne peut même pas essayer de mettre autre chose que du numérique...

Code du textbox :

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not IsNumeric(Chr(KeyAscii)) Then
    KeyAscii = 0
End If
End Sub

fichier essai :

https://www.excel-pratique.com/~files/doc2/mgrizzly.xls

Rechercher des sujets similaires à "verifier textbox"