Bonjour à tous,
J'aurais besoin d'aide pour une manipulation sous une listebox.
Pour faire simple : J'ai une listbox qui s'initialise avec ce code et qui fonctionne :
Par contre, une fois que je souhaite y ajouter une condition (car la colonne A contient de temps en temps des cellules vides et j'aimerais obtenir que celles qui sont vides), j'obtiens cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Initialise_Listbox() Dim L As Integer Dim i As Integer L = Sheets("Plaquettes").Range(as400 & "65536").End(xlUp).Row + 1 (xlUp).Row + 1 Me.ListBox1.Clear i = 0 While i < L Me.ListBox1.AddItem Me.ListBox1.List(i, 0) = Sheets("Plaquettes").Range(as400 & i + 2) Me.ListBox1.List(i, 1) = Sheets("Plaquettes").Range(designationfournisseur & i + 2) Me.ListBox1.List(i, 2) = Sheets("Plaquettes").Range(nuance & i + 2) Me.ListBox1.List(i, 3) = Sheets("Plaquettes").Range(fonction & i + 2) Me.ListBox1.List(i, 4) = Sheets("Plaquettes").Range("A" & i + 2).Row ' J'AI CACHE LA COLONNE 5 QUI REPRESENTE LE NUMERO DE LA LIGNE DANS LE FICHIER EXCEL i = i + 1 Wend End Sub
Voici le code :Erreur d'exécution '381':
Impossible de définir la propriété List. Index de table de propriétés non valide.
Si une âme charitable passerait par içi, je lui serait reconnaissant =)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Sub ArtNonCodifies_Click() Dim L As Integer Dim L1 As Integer Dim L2 As Integer Dim i As Integer L1 = Sheets("Plaquettes").Range(as400 & "65536").End(xlUp).Row + 1 L2 = Sheets("Plaquettes").Range(designationfournisseur & "65536").End(xlUp).Row + 1 If L1 < L2 Then L = L2 Else L = L1 End If Me.ListBox1.Clear i = 0 While i < L If Sheets("Plaquettes").Range(as400 & i + 2) = "" Then 'AJOUT DE LA CONDITION Me.ListBox1.AddItem Me.ListBox1.List(i, 0) = Sheets("Plaquettes").Range(as400 & i + 2) 'Première ligne avec l'erreur Me.ListBox1.List(i, 1) = Sheets("Plaquettes").Range(designationfournisseur & i + 2) Me.ListBox1.List(i, 2) = Sheets("Plaquettes").Range(nuance & i + 2) Me.ListBox1.List(i, 3) = Sheets("Plaquettes").Range(fonction & i + 2) Me.ListBox1.List(i, 4) = Sheets("Plaquettes").Range("A" & i + 2).Row i = i + 1 Else 'AJOUT DE LA CONDITION i = i + 1 'AJOUT DE LA CONDITION End If 'AJOUT DE LA CONDITION Wend End Sub
Merci d'avance
EDIT : Les variables dans les Range sont des variables globales lancées lors de l'ouverture du fichier ou lors du clic sur le bouton de commande.
Partager