inverser le contenu d'un listbox

  • Initiateur de la discussion Initiateur de la discussion Thomas®
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Thomas®

Guest
Bonjour le forum,

j'ai un liste box que je remplis grace à additem

Code:
derlgn = Sheets('HISTO').Range('A65536').End(xlUp).Row
lgn = 0
With Me.ListBox1
      .ColumnCount = 5
      .ColumnWidths = '150;120;110;0;0'
For Each cel In Range('A2:A' & derlgn)
R = cel.Row
 If Rows(R).Hidden = False Then
          .AddItem Cells(R, 1).Value
     For Col = 1 To 5
          .Column(Col, .ListCount - 1) = Cells(R, Col + 1).Value
          Next
        End If
     Next
 End With

Je cherche un moyen 'inverser la liste .

exemple :

ce qui est en A1 à E1 (soit à la fin du listbox)
et ce qui est en derniere ligne de A à E soit en haut du listbox.

Je vais poser une question vraiment bête mais est ce possible de faire un boucle à l'envert ?

exemple :
For Each cel In Range ('A' & derlgn & ':A1')

D'avance merci
Thomas®
 
Bonjour

Tu dois modifier l'instruction AddItem

Variant = object.AddItem [ item [, varIndex]]
La syntaxe de la méthode AddItem comprend les éléments suivants :
Élément Description
object Objet valide.
item Facultatif. Spécifie l'élément ou la ligne à ajouter. Le numéro du premier élément ou de la première ligne est 0 ; le numéro du deuxième élément ou de la deuxième ligne est 1, et ainsi de suite.
varIndex Facultatif. Nombre entier spécifiant la position d'insertion du nouvel élément ou de la nouvelle ligne.


Code:
 .AddItem Cells(R, 1).Value , 0

@+Jean-Marie
 
Bonjour tout le monde


Sinon tu peut tester ceci :

Dim i As Integer
derlgn = Sheets('HISTO').Range('A65536').End(xlUp).Row
lgn = 0
With Me.ListBox1
      .ColumnCount = 5
      .ColumnWidths = '150;120;110;0;0'
For i = derlgn To 2 Step -1
   
If Rows(i).Hidden = False Then
        .AddItem Cells(i, 1).Value
       
For col = 1 To 5
            .Column(col, .ListCount - 1) = Cells(i, col + 1).Value
       
Next col
   
End If
Next i
End With

ce type de synthaxe permet de boucler à l'envers :

For i = derlgn To 2 Step -1


Salut
 
Bonjour le forum,

je ne sais pas si il faut que je consacre un nouveau post pour ma question? :whistle:

en fait j'utiliste cette macro :

Code:
Dim i As Integer
derlgn = Sheets('HISTO').Range('A65536').End(xlUp).Row
lgn = 0
With Me.ListBox1
      .ColumnCount = 7
      .ColumnWidths = '150;120;70;0;0;0;60'
For i = derlgn To 2 Step -1
    If Rows(i).Hidden = False Then
        .AddItem Cells(i, 1).Value
        For Col = 1 To 7
            .Column(Col, .ListCount - 1) = Cells(i, Col + 1).Value
        Next Col
    End If
Next i
End With

Que m'a donné Hervé.

et dans la derniere colonne j'ai des infos qui sont toujours les mêmes.

ma question est :

est il possible a l'aide d'un combobox de faire un tri n'affichant que les lignes comportant le mots choisi dans la derniere colonne ?


je vous joint un exemple B)

D'avance merci
Thomas® [file name=listbox_20050523143037.zip size=11972]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/listbox_20050523143037.zip[/file]
 

Pièces jointes

Bonjour tout le monde
salut thomas

Un exemple parmi d'autres :

Private Sub ComboBox1_Change()
Dim i As Integer
ListBox1.Clear
derlgn = Sheets('HISTO').Range('A65536').End(xlUp).Row
lgn = 0
With Me.ListBox1
For i = derlgn To 2 Step -1
   
If Rows(i).Hidden = False And Range('g' & i) = ComboBox1 Then
        .AddItem Cells(i, 1).Value
       
For Col = 1 To 7
            .Column(Col, .ListCount - 1) = Cells(i, Col + 1).Value
       
Next Col
   
End If
Next i
End With

End Sub

Dans cette exemple on boucle sur le tableau initial.

Salut
 
Bonjour,

Merci Hervé, cela fait plusieurs jours que tu me depannes.

au moment ou j'ai lu ton message j'etais pas loin il me manqué le
listbox1.clear

car ma liste etait de plus en plus grande

Merci
Thomas®
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
658
Réponses
5
Affichages
900
Réponses
4
Affichages
721
Réponses
2
Affichages
524
Réponses
3
Affichages
918
Réponses
7
Affichages
450
Retour