Private Sub CommandButton1_Click() If TextBox3.Text = "4108633" Then TextBox3.Text = "41-086-33" End If MsgBox TextBox3.Text End Sub
Option Explicit Dim num As Boolean Dim caract As String Dim Valeur As Byte Private Sub TextBox1_Change() If num = True Then '1er caractère 'ancien TextBox1.MaxLength = 9 'nb caracteres maxi dans textbox Valeur = Len(TextBox1) If Valeur = 2 Or Valeur = 6 Then TextBox1 = TextBox1 & "-" End If End Sub Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) caract = Left(TextBox1.Value, 1) If IsNumeric(caract) Then num = True Else num = False ' End If End Sub
Private Sub CommandButton3_Click() Dim R As Range Dim Chaine as String = Textbox3.Value ' code oublié Dim Ok as Boolean = false ' Test 9 caractères et si tirets en position 3 et 7 dans la Textbox If Chaine.Length = 9 then If InStr(1,Chaine,,"-") = 3 And InStr(1,Chaine,"-") = 7 Then Ok = True ' la chaine est bien XX-XXX-XX End If Else ' Test si 7 Caractères et si la TextBox ne contient aucun tiret If InStr(1, Chaine, "-") = 0 And Chaine.Length = 7 Then ' on insère les 2 tirets manquants Chaine = Chaine.Left(1,2) & "-" & Chaine.Mid(3,3) & "-" & Chaine(6,2) Ok = True End if End If If Ok = True Then Set R = Range("S1:a" & Range("A65536").End(xlUp).Row).Find(Chaine) If Not R Is Nothing Then Me.TextBox1 = R.Offset(0, -2).Text Me.TextBox2 = R.Offset(0, -1).Text Me.TextBox4 = R.Offset(0, 1).Text Me.TextBox5 = R.Offset(0, 2).Text Me.TextBox6 = R.Offset(0, 3).Text Me.TextBox7 = R.Offset(0, 31).Text Me.TextBox8 = R.Offset(0, 29).Text Me.TextBox9 = R.Offset(0, 6).Text Me.TextBox10 = R.Offset(0, 7).Text Me.TextBox11 = R.Offset(0, 8).Text Me.TextBox12 = R.Offset(0, 9).Text Me.TextBox13 = R.Offset(0, 10).Text Me.TextBox14 = R.Offset(0, 30).Text Me.TextBox15 = R.Offset(0, 23).Text Me.TextBox16 = R.Offset(0, 24).Text Me.TextBox17 = R.Offset(0, 25).Text Me.TextBox18 = R.Offset(0, 26).Text Me.TextBox19 = R.Offset(0, 27).Text Me.TextBox20 = R.Offset(0, 32).Text Me.TextBox21 = R.Offset(0, 16).Text End If End If End Sub--
Private Sub CommandButton3_Click() Dim R As Range Set R = Range("S1:a" & Range("A65536").End(xlUp).Row).Find(TextBox3.Value) If Not R Is Nothing Then Me.TextBox1 = R.Offset(0, -2).Text Me.TextBox2 = R.Offset(0, -1).Text Me.TextBox4 = R.Offset(0, 1).Text Me.TextBox5 = R.Offset(0, 2).Text Me.TextBox6 = R.Offset(0, 3).Text Me.TextBox7 = R.Offset(0, 31).Text Me.TextBox8 = R.Offset(0, 29).Text Me.TextBox9 = R.Offset(0, 6).Text Me.TextBox10 = R.Offset(0, 7).Text Me.TextBox11 = R.Offset(0, 8).Text Me.TextBox12 = R.Offset(0, 9).Text Me.TextBox13 = R.Offset(0, 10).Text Me.TextBox14 = R.Offset(0, 30).Text Me.TextBox15 = R.Offset(0, 23).Text Me.TextBox16 = R.Offset(0, 24).Text Me.TextBox17 = R.Offset(0, 25).Text Me.TextBox18 = R.Offset(0, 26).Text Me.TextBox19 = R.Offset(0, 27).Text Me.TextBox20 = R.Offset(0, 32).Text Me.TextBox21 = R.Offset(0, 16).Text End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub CommandButton3_Click() Dim R As Range Dim Chaine as String Dim Ok as Boolean = false ' Test 9 caractères et si tirets en position 3 et 7 dans la Textbox If Chaine.Length = 9 then If InStr(1,TextBox3.Value,"-") = 3 And InStr(1,Textbox3.Value,"-") = 7 Then Chaine = TextBox3.Value Ok = True End If Else ' Test si 7 Caractères et si la TextBox ne contient aucun tiret If InStr(1, Chaine, "-") = 0 And Chaine.Length = 7 Then Chaine = TextBox3.Value ' on insère les 2 tirets manquants Chaine = Chaine.Left(1,2) & "-" & Chaine.Mid(3,3) & "-" & Chaine(6,2) Ok = True End if End If If Ok = True Then Set R = Range("S1:a" & Range("A65536").End(xlUp).Row).Find(Chaine) If Not R Is Nothing Then Me.TextBox1 = R.Offset(0, -2).Text Me.TextBox2 = R.Offset(0, -1).Text Me.TextBox4 = R.Offset(0, 1).Text Me.TextBox5 = R.Offset(0, 2).Text Me.TextBox6 = R.Offset(0, 3).Text Me.TextBox7 = R.Offset(0, 31).Text Me.TextBox8 = R.Offset(0, 29).Text Me.TextBox9 = R.Offset(0, 6).Text Me.TextBox10 = R.Offset(0, 7).Text Me.TextBox11 = R.Offset(0, 8).Text Me.TextBox12 = R.Offset(0, 9).Text Me.TextBox13 = R.Offset(0, 10).Text Me.TextBox14 = R.Offset(0, 30).Text Me.TextBox15 = R.Offset(0, 23).Text Me.TextBox16 = R.Offset(0, 24).Text Me.TextBox17 = R.Offset(0, 25).Text Me.TextBox18 = R.Offset(0, 26).Text Me.TextBox19 = R.Offset(0, 27).Text Me.TextBox20 = R.Offset(0, 32).Text Me.TextBox21 = R.Offset(0, 16).Text End If End If End Sub
Dim Ok As Boolean = false
26 août 2018 à 11:10
Effectivement mais rien ne nous dit que c'est toujours le même code à rentrer dans la TextBox !
27 août 2018 à 18:12
Non, ce n'est jamais le même code. il y a environ une centaine de codes différents
27 août 2018 à 18:27
As-tu essayé le code que je t'ai fourni ?
27 août 2018 à 18:53
Modifié le 27 août 2018 à 19:45
Les codes sont-ils toujours sous le format XX-XXX-XX où X représente un chiffre ?
Mon code ne spécifie aucun chiffre spécifiquement