Adapter longueur champ selection listbox

Résolu
thyphonfalcon Messages postés 41 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 12 mai 2007 - 9 déc. 2006 à 11:47
thyphonfalcon Messages postés 41 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 12 mai 2007 - 9 déc. 2006 à 12:40
Bonjour,

J'aimerai savoir comment peut-on adapter la longueur de selection d'un item dans une listbox ?

En fait, quand on selectionne un item dans une listebox, la selection s'opère sur toute la longueur de la ligne de l'item.
Moi j'aimerai pouvoir forcer la longueur de la sélection à x caractère de l'item sur la ligne.

imaginons :

123456789XX87RTET45455 (la couleur bleue représente la sélection)

moi j'aimerai ceci

123456789XX87RTET45455 (donc non plus une selection sur toute la largeur mais sur une postition définie)

En fait je remonte une sélection d'une listbox vers un textbox.

Found = InStr(txtEdition.Text, List1.Text)



  txtEdition.SetFocus
  txtEdition.SelStart = Found
  txtEdition.SelLength = Len(List1.Text) - 5

Found = InStr(txtEdition.Text, List1.Text) c'est ici que tout ce passe, j'en suis conscient mais je n'arrive pas
à partitioner ma sélection dans la listbox

une idée quelqu'un ?

Merci

2 réponses

thyphonfalcon Messages postés 41 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 12 mai 2007
9 déc. 2006 à 12:40
Ok le problème est résolu, je restreinds l'iportation du texte à une longueur définie
 Dim cCol As New Collection
         Dim i As Integer
        Dim sSplitListe() As String, sTempString As String
        If List1.ListCount <> 0 Then Exit Sub
        sSplitListe = Split(txtEdition.Text, vbCrLf)
               
On Error Resume Next
For i = 0 To UBound(sSplitListe)
            sTempString = "0" & Right(sSplitListe(i), 12) - Right(sSplitListe(i), 5) (j'ajoute un 0 devant ma mligne et je sélectionne les 12 derniers chiffres de ma ligne)
            
     cCol.Add sTempString, sTempString
       
        If Err.Number = 457 Then
       
           Err.Clear
          
         If Not Err.Number = 457 Then List1.AddItem Left(sTempString, 7): Err.Clear (j'importe uniquement 7 chiffres)
          
        End If
       
    Next i

et voilà
3
thyphonfalcon Messages postés 41 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 12 mai 2007
9 déc. 2006 à 11:54
on peut voir le problème autrement,

Comment obliger une listbox à n'ajouter qu'une partie d'un texte...çà peut ce voir comme çà aussi !
0
Rejoignez-nous