Probleme de depassement de capacite listbox

michel_231 - Modifié le 10 janv. 2024 à 00:02
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 11 janv. 2024 à 22:31

Bonjour,je viens de me mettre a vba j ' une difficulté avec mon code j ai besoin d'aide 

j ai un problème sur cette ligne 

For row_number = 0 To ListBox1.ListCount

voici le code en entier 

Function extract_data_in_listbox()
    Dim row_number As Integer
    For row_number = 0 To ListBox1.ListCount
        If ListBox1.Selected(row_number) Then
            TextBox4.Value = ListBox1.List(row_number, 0)
            TextBox1.Value = ListBox1.List(row_number, 1)
            TextBox2.Value = ListBox1.List(row_number, 2)
            ComboBox2.Value = ListBox1.List(row_number, 3)
            ComboBox3.Value = ListBox1.List(row_number, 4)
            TextBox3.Value = ListBox1.List(row_number, 5)
        End If
    Next row_number
End Function

lorsque j'exécute l'éditeur me dit dépassement de capacité 

2 réponses

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
Modifié le 10 janv. 2024 à 00:09

bonjour

j'y connais rien en VB mais ce serait pas du au fait qu’il fasse retirer 1 a ListBox1.ListCount étant donne que ça commence a zero, zero étant pris comme valeur de depart


0
Whismeril Messages postés 19030 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 avril 2024 656
10 janv. 2024 à 00:19

Salut.

Selon l'option base,  en vba, ça peut aller de 0 à n-1 ou de 1 à n.

https://learn.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/option-base-statement

Donc effectivement, il faudrait corriger le for, mais ce qui est surprenant c'est que ce soit à cette ligne que ça plante.


@Michel quelle est la valeur de row_number au moment de l'erreur?

Et quel est ton but?

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
11 janv. 2024 à 22:31

Bonjour

Par défaut en VBA Option base = 0

En corrigeant la ligne du for ainsi cela devrait fonctionner si vous n'avez pas toucher au Option Base de VBA

For row_number = 0 To ListBox1.ListCount - 1

0
Rejoignez-nous