Sub Choix()
Dim F As Worksheet, dest As Range, o As Object, a$(), i%, ub%, r As Range, b$(), j&, liste
Set F = Sheets("Besoin Client")
Set dest = F.[B22] '1ère cellule des résultats, à adapter
For Each o In F.DrawingObjects
If LCase(o.Name) Like "*option*" Then
If o.Value = xlOn Then
ReDim Preserve a(i) 'base 0
a(i) = o.Text
i = i + 1
End If
End If
Next
If i = 0 Then ReDim a(0): a(0) = Chr(1)
ub = UBound(a)
For Each r In Sheets("BDD Papiers").[A1].CurrentRegion.Rows
For i = 0 To ub
If Application.CountIf(r, a(i)) = 0 Then GoTo 1
Next i
ReDim Preserve b(j) 'base 0
b(j) = r.Cells(1)
j = j + 1
1 Next r
'---restitution---
Application.ScreenUpdating = False
If F.FilterMode Then F.ShowAllData 'si la feuille est filtrée
dest(1, 2).Resize(F.Rows.Count - dest.Row + 1, 4).HorizontalAlignment = xlCenterAcrossSelection 'centrage sur les colonnes C:F
dest.Resize(F.Rows.Count - dest.Row + 1, 2).ClearContents 'RAZ
If j Then
ReDim liste(1 To 2 * UBound(b) + 1, 1 To 2)
For j = 1 To UBound(liste) Step 2
liste(j, 1) = "Choix " & (j + 1) / 2
liste(j, 2) = b((j - 1) / 2)
Next j
dest.Resize(UBound(liste), 2) = liste
End If
End Sub