XL 2010 Verifier contenu textbox

  • Initiateur de la discussion Initiateur de la discussion cp4
  • 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 !

cp4

XLDnaute Barbatruc
Bonjour,🙂

Je voudrais vérifier que le contenu d'une textbox est bien constitué de 13 chiffres et que celui-ci n'est pas déjà présent dans ma base. J'ai fait ce code mais apparemment ne fonctionne pas.
VB:
Private Sub TextBox1_Exit(ByVal cancel As MSForms.ReturnBoolean)
ligne = WS.Range("A" & Rows.Count).End(xlUp).Row + 1
         Set Rng = WS.Range("A2:G" & ligne)
Set X = Rng.Columns(1).Find(What:=Val(code), LookAt:=xlWhole)

   If Len(TextBox1) < 13 Then
      MsgBox ("Vous devez saisir un numéro de code valide." & Chr(10) & Chr(10) & "Pour cela, saisissez 13 chiffres.")
      cancel = True
      End If
If Not X Is Nothing Then
            MsgBox code & " existe déjà!"
            Me.TextBox1 = "": Me.TextBox1.SetFocus
           Exit Sub
           Else
           Me.TextBox2.SetFocus
End If
End Sub
En vous remerciant. Merci aussi pour vos critiques, commentaires, suggestions concernant ce fichier dans son ensemble.🙂 Le but de ce fichier est d'ajouter, supprimer ou modifier une petite bd de produits.
 

Pièces jointes

Re

@cp4

Comme ceci ce sera mieux 😉 Et Il faut mettre: X As Range
VB:
Private Sub TextBox1_Exit(ByVal cancel As MSForms.ReturnBoolean)
    ligne = WS.Range("A" & Rows.Count).End(xlUp).Row
    Set Rng = WS.Range("A2:G" & ligne)
    Set X = Rng.Columns(1).Find(What:=Val(TextBox1), LookAt:=xlWhole)

    If Len(TextBox1) < 13 Then
        MsgBox ("Vous devez saisir un numéro de code valide." & Chr(10) & Chr(10) & "Pour cela, saisissez 13 chiffres.")
        Me.TextBox1 = ""
        Me.TextBox1.SetFocus
    End If

    If Not X Is Nothing Then
        MsgBox code & " existe déjà!"
        cancel = True
        Me.TextBox1.SetFocus
        Me.TextBox1 = ""
    End If

End Sub
 
Re

@cp4

Comme ceci ce sera mieux 😉
VB:
Private Sub TextBox1_Exit(ByVal cancel As MSForms.ReturnBoolean)
    ligne = WS.Range("A" & Rows.Count).End(xlUp).Row
    Set Rng = WS.Range("A2:G" & ligne)
    Set X = Rng.Columns(1).Find(What:=Val(TextBox1), LookAt:=xlWhole)

    If Len(TextBox1) < 13 Then
        MsgBox ("Vous devez saisir un numéro de code valide." & Chr(10) & Chr(10) & "Pour cela, saisissez 13 chiffres.")
        Me.TextBox1 = "": Me.TextBox1.SetFocus
    End If

    If Not X Is Nothing Then
        MsgBox code & " existe déjà!"
        cancel = True
    End If

End Sub
Merci beaucoup, je teste de suite.🙂🙂🙂
 
Re

@cp4
Un autre suggestion (t'aurais pas zappé la précédente par hasard ? 😉 )
Pour obliger une saisie numérique dans un TextBox
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("01234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
 
Re

@cp4
Un autre suggestion (t'aurais pas zappé la précédente par hasard ? 😉 )
Pour obliger une saisie numérique dans un TextBox
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("01234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
Désolé, je n'arrive pas suivre. Je te réponds à toi et à Lone-wolf. Et mon fils me harcèle pour lui installer un jeu.
Ce qui est sûr, c'est que je vous répondrai sans fautes.

Merci beaucoup.
 
- 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

Discussions similaires

Réponses
2
Affichages
169
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
163
Réponses
3
Affichages
665
Retour