Initialisation Listbox à partir d'une cellule
R
Bonjour à tous,
J'ai un petit souci pour modifier une macro qui fonctionne. Je me suis inspiré d'un cours proposé sur ce site pour la réaliser (https://www.excel-pratique.com/fr/vba/controles_suite.php).
Il s'agit d'un userform composé de 4 listbox. Listbox1 permet selon l'item choisi d'initialiser les 3 autres listbox.
Voici ce que j'aimerais faire : Initialiser les 3 listbox sans utiliser Listbox1, à partir de la valeur d'une cellule (en coordonnées relatives) du style ActiveCell.Offset.(0,-1).value (La cellule en question se trouve sur (même ligne, une colonne avant) que la cellule active.
Je sais pas vraiment comment modifier ce code en conséquence
Private Sub Listbox1_Change()
Dim no_colonne As Long, nb_lignes As Long
'Zone de liste vidée (sinon les villes sont ajoutées à la suite)
ListBox_Origines.Clear
ListBox_Situations.Clear
ListBox_Conséquences.Clear
'Numéro de la sélection (ListIndex commence à 0) :
no_colonne = ListBox1.ListIndex + 1
'Nombre de lignes de la colonne du pays choisi :
nb_lignes = Sheets("Risques-Origines").Cells(3, no_colonne).End(xlDown).Row
For i = 3 To nb_lignes ' => pour lister les origines
ListBox_Origines.AddItem Sheets("Risques-Origines").Cells(i, no_colonne)
Next
For i = 3 To nb_lignes ' => pour lister les situation
ListBox_Situations.AddItem Sheets("Risques-Sit. Dangereuses").Cells(i, no_colonne)
Next
For i = 3 To nb_lignes ' => pour lister les conséquences
ListBox_Conséquences.AddItem Sheets("Risques-Conséquences").Cells(i, no_colonne)
Next
End Sub
Private Sub UserForm_Initialize()
Dim i, Derlig As Long
For i = 1 To 57 ' => pour lister les origines
ListBox1.AddItem Sheets("Risques-Origines").Cells(2, i)
Next
For i = 1 To 57 ' => pour lister les situations
ListBox1.AddItem Sheets("Risques-Sit. Dangereuses").Cells(2, i)
Next
For i = 1 To 57 ' => pour lister les conséquences
ListBox1.AddItem Sheets("Risques-Conséquences").Cells(2, i)
Next
End SubMerci de votre aide.