ListBox selon condition

Bonjour à tous,

J'essaye actuellement de créer une listbox selon critère mais j'arrive seulement à récupérer la première colonne et pas les autres ...

Voici le code qui marche pour une colonne :

Me.ListBox1.ColumnCount = 9

Me.ListBox1.ColumnWidths = "30;60;100;60;50;70;50;80;100"

Dim i As Integer
Dim dernièreligne As Integer

dernièreligne = Sheets("Data_Demande").Range("A65536").End(xlUp).Row
For i = 1 To dernièreligne
 If Sheets("Data_Demande").Cells(i, 9).Value = "RÉALISÉ" Then ListBox1.AddItem Sheets("Data_Demande").Range("A" & i).Value
 Else
 End If

 Next i

J'essaye donc de faire cela pour récupérer également les colonnes :

Me.ListBox1.ColumnCount = 9

Me.ListBox1.ColumnWidths = "30;60;100;60;50;70;50;80;100"

Dim i As Integer
Dim j As Integer
Dim dernièreligne As Integer

derligne = Sheets("Data_Demande").Range("A65536").End(xlUp).Row
For i = 1 To dernièreligne
For j = 1 To 9
 If Sheets("Data_Demande").Cells(i, 9).Value = "RÉALISÉ" Then ListBox1.AddItem Sheets("Data_Demande").Range(j & i).Value
Else
End If

 Next j
 Next i

Mais j'ai le message d'erreur : Erreur d’exécution 1004, erreur définit par l'application ou par l'objet !

Je ne vois pas pourquoi j'ai cette erreur ... Il y a une autre méthode pour récupérer les colonnes ?

De joyeuses fêtes à tous !!

Bonsoir

Essaie peut-être ceci

For i = 1 To dernièreligne
For j = 1 To 9
 If Sheets("Data_Demande").Cells(i, 9).Value = "RÉALISÉ" Then ListBox1.AddItem Sheets("Data_Demande").Cells(i,j).Value
Else
End If

 Next j
 Next i

Cells(i,j).Value au lieu de Range(j & i).Value

Dis-moi

A+

slt je ne suis pas de niveau pour vraiment t'aider mais sur ton deuxième code il y'a une erreur sur le nom de la variable lorsqu'elle recueille le numéro de la dernière ligne

j'éspére que tu trouvera ce qui vas t’être plus utile que ça , bonne chance et bonnes fêtes

PS: on m'a plusieurs fois expliquer qu'il fallait éviter les accents (é) dans les nom de variable

RE

oui addou a raison, je n'avais pas vu cela , donc 2 erreurs

tu as écrit cela :

derligne = Sheets("Data_Demande").Range("A65536").End(xlUp).Row
For i = 1 To dernièreligne

au lieu de cela :

dernièreligne= Sheets("Data_Demande").Range("A65536").End(xlUp).Row
For i = 1 To dernièreligne

Bye

Bonjour,

Merci à vous mais cela n'as pas changé le problème, il affiche les colonne comme une nouvelle ligne à chaque fois !

RE

Avec un fichier, nous pourrons certainement mieux t'aider !!

A +

Re,

J'ai trouvé la solution :

Me.ListBox1.ColumnCount = 9

Me.ListBox1.ColumnWidths = "50;80;50;60;50;70;50"

Dim i As Integer
Dim dernièreligne As Integer

dernièreligne = Sheets("Data_Demande").Range("A65536").End(xlUp).Row
For i = 1 To dernièreligne
 If Sheets("Data_Demande").Cells(i, 9).Value = "RÉALISÉ" Then

ListBox1.AddItem Sheets("Data_Demande").Cells(i, 1).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Sheets("Data_Demande").Cells(i, 2).Value
'continuer avec toutes les colonnes

Else
End If

 Next i
Rechercher des sujets similaires à "listbox condition"