Erreur d'execution 6 depassement de capacite

bonjour tt le monde , j ai petit souci avec ce message qui s'affiche des que je lance l execution erreur d'execution 6 depassement de capacite :

Private Sub UserForm_Initialize()

With ListView1

.Gridlines = True
.View = lvwReport
.FullRowSelect = True
.ColumnHeaders.add , , "b", 0
.ColumnHeaders.add , , "N° de bureau", 100, lvwColumnCenter
.ColumnHeaders.add , , "Nom", 100, lvwColumnCenter
.ColumnHeaders.add , , "Prenom", 100, lvwColumnCenter
.ColumnHeaders.add , , "Adresse IP", 100, lvwColumnCenter
.ColumnHeaders.add , , "Poste", 100, lvwColumnCenter

End With

Dim a As ListItem
Dim b As Integer
Dim c As Integer
Me.ListView1.ListItems.Clear
b = Feuil1.Range("a" & Rows.Count).End(xlUp).Row
For c = 4 To b
Set a = Me.ListView1.ListItems.add(, , Feuil1.Cells(c, "a"))
a.SubItems(1) = Feuil1.Cells(c, "a")
a.SubItems(2) = Feuil1.Cells(c, "b")
a.SubItems(3) = Feuil1.Cells(c, "c")
a.SubItems(4) = Feuil1.Cells(c, "d")
a.SubItems(5) = Feuil1.Cells(c, "e")

Next c
End Sub

merci d'avance pour votre aide .

Bonjour,

Tu as défini 6 colonnes dans ListView1, mais l’indexation des SubItems commence à 1 en VBA.
Voici le code corrigé, prenant en compte les problèmes ci-dessous :

1. Ajout d'une colonne supplémentaire pour éviter les erreurs d'index sur les SubItems.

2. Validation des valeurs dans les cellules pour éviter des erreurs de type.

Private Sub UserForm_Initialize()

    ' Configuration de la ListView
    With ListView1
        .Gridlines = True
        .View = lvwReport
        .FullRowSelect = True

        ' Ajout des en-têtes de colonnes
        .ColumnHeaders.Add , , "b", 0
        .ColumnHeaders.Add , , "N° de bureau", 100, lvwColumnCenter
        .ColumnHeaders.Add , , "Nom", 100, lvwColumnCenter
        .ColumnHeaders.Add , , "Prenom", 100, lvwColumnCenter
        .ColumnHeaders.Add , , "Adresse IP", 100, lvwColumnCenter
        .ColumnHeaders.Add , , "Poste", 100, lvwColumnCenter
        .ColumnHeaders.Add , , "Extra", 100, lvwColumnCenter ' Colonne supplémentaire pour éviter erreur SubItems(5)
    End With

    ' Déclaration des variables
    Dim a As ListItem
    Dim b As Integer
    Dim c As Integer

    ' Effacer les éléments existants
    Me.ListView1.ListItems.Clear

    ' Trouver la dernière ligne utilisée dans la colonne A
    b = Feuil1.Range("a" & Rows.Count).End(xlUp).Row

    ' Boucle pour ajouter les données à la ListView
    For c = 4 To b
        ' Ajouter un nouvel élément
        Set a = Me.ListView1.ListItems.Add(, , Feuil1.Cells(c, "a").Value)

        ' Remplir les SubItems avec les données des cellules
        a.SubItems(1) = Feuil1.Cells(c, "b").Value
        a.SubItems(2) = Feuil1.Cells(c, "c").Value
        a.SubItems(3) = Feuil1.Cells(c, "d").Value
        a.SubItems(4) = Feuil1.Cells(c, "e").Value
        a.SubItems(5) = Feuil1.Cells(c, "f").Value ' Assurez-vous que les colonnes existent et sont bien mappées
    Next c

End Sub

merci bcp tr nizar

je vous remercie pour votre aide la solution etait : il falait declarer le B et C comme long pas integer .

Rechercher des sujets similaires à "erreur execution depassement capacite"