Initialisation Listbox à partir d'une cellule

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 Sub

Merci de votre aide.

Rechercher des sujets similaires à "initialisation listbox partir"