Sub Worksheet_Activate()
With Sheets("MAG")
[A1:Z1000].ClearContents
Application.ScreenUpdating = false
Ligne = 1
For C = 15 To 19 Step 2 ' colonnes O Q S
For L = 1 To 25 ' longueur de la liste
If LCase(.Cells(L, C)) = "vrai" Then
Cells(Ligne, "A") = .Cells(L, 2 * C - 26) ' 2C-26 donnent colonnes DHL pour les colonnes OQS
Ligne = Ligne + 1
End If
Next L
Next C
End With
End Sub
Sub ListeMagasins()
Dim cb As CheckBox
Dim TabMagasins() As Variant
Dim NbMagasins As Integer
For Each cb In ThisWorkbook.Worksheets("MAG").CheckBoxes
If cb.Value = xlOn Then
NbMagasins = NbMagasins + 1
ReDim Preserve TabMagasins(1 To NbMagasins)
TabMagasins(NbMagasins) = cb.TopLeftCell.Offset(, 1).Value
End If
Next cb
With ThisWorkbook.Worksheets("Liste")
.Cells(1, 1).Resize(Rows.Count).ClearContents
If NbMagasins > 0 Then
.Cells(1, 1).Resize(NbMagasins).Value = WorksheetFunction.Transpose(TabMagasins)
End If
End With
End Sub
Celle là, je ne l'avais pas vu.A noter que la CheckBox 33, 34, 58 et certainement d'autres sont mal placées.
Ok, j'avais fait ça mais pas remarquéSi on fait clic droit sur la Checkboxex en C1 et Format de contrôle