Erreur d'exécution 35600 - Index out of bounds

Bonjour à tous,

Sur mon fichier, il y a 3 ListViews remplies par la feuille STOCK. La 1ère avec 11 colonnes, la 2ème et la 3ème avec 1 colonne.

Je souhaiterais afficher une 2ème colonne dans la 2ème ListView.

Mais j'ai l'erreur "Erreur d'exécution 35600 - Index out of bounds".

Private Sub UserForm_Initialize()
Set WS = Sheets("STOCK")
With Me.ListView2
'Titres des colonnes
    With .ColumnHeaders
      .Clear
'Ajout des colonnes
      .Add , , WS.Range("E1"), 200, lvwColumnLeft
      .Add , , WS.Range("J1"), 50, lvwColumnRight
    End With
    .View = lvwReport                     ' Affichage en mode Rapport
    .Gridlines = True                     ' Affichage d'un quadrillage
    .FullRowSelect = True                 ' Sélection des lignes complètes
    .LabelEdit = lvwManual                ' On ne modifie pas en direct
  End With

InitListView
End Sub

Sub InitListView()
' Remplissage
Dim J As Long
Dim Nb As Integer
With Me.ListView2
    .ListItems.Clear
    For J = 2 To WS.Range("E" & Rows.Count).End(xlUp).Row
' On remplit la première colonne de la Listview
      .ListItems.Add , WS.Range("E" & J).Address, WS.Range("E" & J)
      Nb = Nb + 1
' On remplit les autres colonnes de la listview
      .ListItems(Nb).ListSubItems.Add , , WS.Range("J" & J)

     Next J
  End With
End Sub

Je n'arrive pas à comprendre cette erreur, si quelqu'un à une idée, merci d'avance.

Bonne journée à tous.

Bonjour

Tu remplis trois listview de suite mais tu n'utilise que une fois NB

il faut donc le remettre à 0 pour chaque listview

le mieux est de remplacer nb par .ListItems.Count

Bonjour BOB71AU,

C'est parfait avec .ListItems.Count

Merci beaucoup pour ton explication et ta solution.

Bonne journée à toi

Edit : je joins le fichier corrigé

Rechercher des sujets similaires à "erreur execution 35600 index bounds"