Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Filtre qui ne fonctionne pas avec 1 ligne

1 réponse
Avatar
Alain
Bonjour,
cette procédure fonctionne très bien lorsqu'elle filtre au moins 2 lignes.
En revanche elle plante dès qu'il y a une ligne.
il me dit erreur d'exécution 381.Impossible de définir la propriété
List.index de table de propriété non valide.
Merci pour votre aide.
Alain

Sheets("Tableau").Select
Range("A1:M400").Select
Selection.AutoFilter Field:=2, Criteria1:=Label9
myArray =
Sheets("Tableau").Range("C2:C300").SpecialCells(xlCellTypeVisible).Value
With Me.ListBox1
.List = myArray
End With

1 réponse

Avatar
Frédéric Sigonneau
Bonjour,

Pour pouvoir affecter ton tableau myArray à la propriété List de ta ListBox je
suppose que tu le déclares en Variant, non dimensionné. Du coup, lorsque tu n'as
qu'un résultat, Excel affecte sa valeur à myArray, mais ne le considère pas
comme un tableau.. Je pense que tu pourrais contourner la difficulté en adaptant
ce genre de syntaxe (attention aux retours à la ligne maltapropos) :

Sub test()
Dim myArray, cmpt
cmpt = Sheets("Tableau").Range("C2:C300").SpecialCells(xlCellTypeVisible).Count
myArray =
Sheets("Tableau").Range("C2:C300").SpecialCells(xlCellTypeVisible).Value
If cmpt = 1 Then
MsgBox myArray
Else
MsgBox myArray(1, 1)
End If
End Sub


FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,
cette procédure fonctionne très bien lorsqu'elle filtre au moins 2 lignes.
En revanche elle plante dès qu'il y a une ligne.
il me dit erreur d'exécution 381.Impossible de définir la propriété
List.index de table de propriété non valide.
Merci pour votre aide.
Alain

Sheets("Tableau").Select
Range("A1:M400").Select
Selection.AutoFilter Field:=2, Criteria1:=Label9
myArray > Sheets("Tableau").Range("C2:C300").SpecialCells(xlCellTypeVisible).Value
With Me.ListBox1
.List = myArray
End With