Re,
Non, je n'ai sans doute pas assez bien regardé, mais je n'ai pas vu d'où pouvait provenir le problème posé initialement... Il y avait par contre problème dans la récupération des données de la cellules pour recocher la ListBox, ce que j'ai rectifié, incomplètement d'ailleurs, car :
lorsque je reviens sur une cellule contenant déjà une sélection, des choix s'effacent seuls ? Comment résoudre ce détail ?
L'évènement Change de la ListBox intervient en effet dès qu'on change ! Donc, au premier changement dû à la récup. du premier item, elle élimine les autres que l'on ne retrouve plus... (désolé de ne pas l'avoir vu tout de suite ! )
Aménagement :
Dim Maj As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Me.ListBox1
If Not Intersect([G2:G300], Target) Is Nothing Then
Maj = False
.List = Sheets("Listes").Range("F3:F9").Value
For i = 0 To .ListCount - 1
If InStr(1, Target, .List(i)) > 0 Then .Selected(i) = True
Next i
.Height = 105
.Width = 235
.Top = Target.Top
.Left = Target.Left + Target.Width
.Visible = True
Maj = True
Else
.Visible = False
End If
End With
End Sub
Private Sub ListBox1_Change()
Dim temp$
If Not Maj Then Exit Sub
With Me.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then temp = temp & .List(i) & " "
Next i
ActiveCell = Trim(temp)
End With
End Sub
Ajouts (surlignés) pour contrôler le phénomène...
Cordialement.