bonjour!
on m'a demander de faire un composant de recherche de références d'articles dans un fichier excel à partir de données issues d'un code barre
le problème est que suivant le fournisseur, le code barre est différents , ainsi j'ai du mal à comparer les données aux références de mon tableaux.
 
J'ai donc réalisé une macro qui me sort les données que je veux, mais à condition de saisir les références à l'identique
 
j'aimerai bcp traiter le champ du combobox (comme limiter le nombre de caractère) avant la recherche
je l'ai fait ainsi avec mes maigres connaissances en VBA
 
Code :
 - 'If Len(ComboBox1.Text) > 10 Then ' Nombre maxi de caractères
 -    'ComboBox1.Text = Left(ComboBox1.Text, 10) ' Efface les caractères en trop
 -    'ComboBox1.SelStart = Len(ComboBox1) ' Replace le curseur à la fin
 -     ' End If
 
  | 
 
 
Par 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 '|'
 
 j'utiliserai un CASE
donc ici je fais un truc comme ça
 
Code :
 - Select Case Len(ComboBox1.Text)
 -  Case Is > 10
 -  ComboBox1.Text = Left(ComboBox1.Text, 10)
 -    ComboBox1.SelStart = Len(ComboBox1)
 - End Select
 
  | 
 
 
et ça ne marche pas génial dès que je tombe sur un de ces salops d'américain ou Japonais, forcément
idéalement il me faudrait comme critères:
Case caractère |
garder tout ce qu'il y a avant le |
 
Case commence par 01045 et fait 19 caractère
garder ce qu'il y a entre le 3e et le 14e caractère
 
il me faut du SearchChar je pense, mais en pratique j'ai un peu de mal
 
je vous remercie d'avance! 
 
 ---------------
			
"J'adore me promener en ville avec ma décapotable" JFK