Select Case Len(ComboBox1.Text) Case Is > 10 ComboBox1.Text = Left(ComboBox1.Text, 10) ComboBox1.SelStart = Len(ComboBox1) End Select
toto = "blabla|bliblibliblilibonjour" msgbox mid(toto, instr(toto, "|") + 1, 12)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPar contre j'ai quelques critères qui rendent la chose plus complexe
par exemple des codes barres Japonais ou la référence est indiquée du 4e au 13 caractère de la chaine: 0104571263624013301
des codes barres de produits americains ou la référence est systématiquement juste avant le caractère '|'
toto = "ECA7403V-1_|S1000010|011587470018113" reference = left(toto, instr(toto, "_|') - 1)
Private Sub CommandButton1_Click() MsgBox dans_quel_cas("1234567890") MsgBox dans_quel_cas("11234567890978456") MsgBox dans_quel_cas("blabla_|12345678") MsgBox "et ucfoutu m'a montré le code à utiliser dans chaque cas de figure. Je vais relire et appliquer ..." End Sub Private Function dans_quel_cas(chaine As String) As String If chaine Like "##########" Then dans_quel_cas = "cas d'un code barre sur 10 chiffrres" ElseIf chaine Like "###########*" Then dans_quel_cas = "cas d'un code barre composé de plus de chiffres, mais en nombre supérieur à 10 et je dois prendre les caractères 4 à 13" ElseIf chaine Like "*_|##*" Then dans_quel_cas = "cas américain et je dois prendre tout ce qui se trouve à gauche de la chaîne _|" Else dans_quel_cas = " tiens ! je n'avais pas prévu ce cas-là !" End If End Function