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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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