XL 2013 liste en fonction de case à cocher

306255

XLDnaute Occasionnel
Bonjour à tous,

j'aimerais avoir une liste des magasins lorsque je coche les cases.

Merci pour votre aide
 

Pièces jointes

  • vt1 fichier magasin.xlsm
    168.2 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour 306255,
Un essai en PJ avec la macro :
VB:
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
Cette macro s'active automatiquement lorsque la feuille "Liste" est sélectionnée.
 

Pièces jointes

  • vt1 fichier magasin (1).xlsm
    159.5 KB · Affichages: 6

Dudu2

XLDnaute Barbatruc
Bonjour @306255, @sylvanu,

@sylvanu, tu as été plus rapide que moi. J'ai ramé pour trouver la valeur d'une CheckBox de Contrôle de Formulaire (j'étais parti sur des Shapes) et j'ai fini par trouver la réponse ici:

VB:
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
 

Pièces jointes

  • vt1 fichier magasin.xlsm
    170.7 KB · Affichages: 3
Dernière édition:

Dudu2

XLDnaute Barbatruc
Edit: Mince, j'ai oublié le cas 0 magasins ! J'ai modifié le code et le fichier ci-dessus !

A noter que les CheckBoxex 9, 14, 33, 34, 41, 52, 56 et certainement d'autres sont mal placées.
Avec mon code, quand elles sont mal alignées on ne peut pas faire le lien entre la CheckBox et le Magasin.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
@sylvanu,
Parce que tu as utilisé les colonnes O, Q et S qui sont VRAI ou FAUX selon la CheckBox.

Par contre je ne comprends pas comment les valeurs en colonnes O, Q et S sont valorisées.
Je ne trouve pas trace du code qui fait ça. Il y a bien des macros associées aux CheckBoxes mais je ne les trouve pas dans le code !!!
 
Dernière édition:

Statistiques des forums

Discussions
312 231
Messages
2 086 448
Membres
103 213
dernier inscrit
Poupoule