Extraction d'une partie d'une chaine de caractères

Bonjour,

Je souhaite renseigner un userform comprenant des textbox et combobox à partir d'une base de données en fonction du n° de ligne demandée.

Tous ce passe bien sauf pour une cellule en colonne F qui comprend des données de type E-234-00154. (la Lettre et les N° changent pour chaque ligne)

je souhaite extraire chaque partie separée par les tiret dans 1 combobox et 2 textbox dans mon userform.

Il y a une variable qui me permet de déterminer quelle ligne est à prendre en compte en fonction du N° que je rentre dans une textbox mon Userform.

Voici le code que j'ai réalisé;

Entre [ ] la partie du code qui ne fonctionne pas et que je ne sais pas corriger. tout le reste fonctionne parfaitement

Private Sub CommandButton1_Click()

Dim no_ligne As Integer

no_ligne = Columns("A").Find(TextBox1.Value, lookat:=xlWhole).Row

TextBox3.Value = Cells(no_ligne, 1).Value

TextBox4.Value = Cells(no_ligne, 2).Value

ComboBox1.Value = Cells(no_ligne, 4).Value

TextBox5.Value = Cells(no_ligne, 5).Value

[ComboBox2.Value = Cells(no_ligne, 6).Left(Range("f2"), 1).Value]

[TextBox6.Value = Cells(no_ligne, 6).Left(Cells(no_ligne, 6), 3).Value]

[TextBox7.Value = Cells(no_ligne, 6).Characters(Start:=7, Length:=5).Value]

If Cells(no_ligne, 7) = "X" Then

CheckBox1.Value = True

ElseIf Cells(no_ligne, 7) = "" Then

CheckBox1.Value = False

End If

If Cells(no_ligne, 8) = "X" Then

CheckBox2.Value = True

ElseIf Cells(no_ligne, 8) = "" Then

CheckBox2.Value = False

End If

TextBox8.Value = Cells(no_ligne, 9).Value

TextBox9.Value = Cells(no_ligne, 10).Value

TextBox10.Value = Cells(no_ligne, 11).Value

TextBox11.Value = Cells(no_ligne, 12).Value

TextBox12.Value = Cells(no_ligne, 13).Value

TextBox13.Value = Cells(no_ligne, 14).Value

TextBox14.Value = Cells(no_ligne, 15).Value

TextBox15.Value = Cells(no_ligne, 16).Value

TextBox16.Value = Cells(no_ligne, 17).Value

End Sub

Je vous remercie pour votre aide

Freddy

Bonjour,

dim tmp as variant
tmp=split("E-234-00154","-")

te créera un tableau pour chaque élément

Le premier étant tmp(0)

eric

Bonsoir,

En m'aidant du code que tu m'a fourni et en cherchant un peu... beaucoup, j'ai enfin trouvé.

voilà ce que ça donne:

tmp = Cells(no_ligne, 6).Value

ComboBox2.Value = Split(tmp, "-")(0)

TextBox6.Value = Split(tmp, "-")(1)

TextBox7.Value = Split(tmp, "-")(2)

Merci pour l'aide

A+

Freddy

Ben tu avais tous les éléments pourtant

tmp = split(Cells(no_ligne, 6).Value," - ")
ComboBox2.Value =tmp(0)
TextBox6.Value = tmp(1)
TextBox7.Value = tmp(2)

t'évite de faire x split()...

Bonsoir,

Effectivement c'est plus simple.

Merci encore

Rechercher des sujets similaires à "extraction partie chaine caracteres"