Bonjour,
Un test :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (((ActiveCell.Column = 3) And (ActiveCell.Row > 6))) Then
With Me.ListBox1
.Clear
.MultiSelect = fmMultiSelectMulti
.ListStyle = fmListStyleOption
.Height = 150
.Width = 75
.Top = ActiveCell.Top
.Left = ActiveCell.Offset(0, 1).Left
For L = 40 To 58 '<- A modifier ici si ajoute des critères
.AddItem Worksheets("methodologieOHB ").Cells(L, 1)
Next L
.Visible = True
End With
On Error Resume Next
i = 0
If Worksheets("methodologieOHB").Range("A39").Offset(0, i).End(xlDown).Row = 2 Then
Me.ListBox1.List = Array(Worksheets("methodologieOHB").Range(Worksheets("methodologieOHB").Range("39").Offset(1, 0), _
Worksheets("methodologieOHB").Range("A40").Offset(0, i).End(xlDown)).Value, "")
On Error GoTo 0
End If
Else
Me.ListBox1.Visible = False
End If
End Sub
Mais au final il suffirait, je pense, d’initialiser la listbox lors de la première duplication de votre feuille selon la même méthodologie. Sauf si vous ajoutez des valeurs par la suite (il faudra tout de même changer là où j'ai placé le commentaire).
Pour la question subsidiaire, j'ai testé et la réponse me semble oui.
Cdlt,