XL 2013 liste en fonction de case à cocher

  • Initiateur de la discussion Initiateur de la discussion 306255
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
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:
@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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
267
Réponses
16
Affichages
497
Réponses
15
Affichages
299
Réponses
5
Affichages
229
Réponses
15
Affichages
350
Réponses
18
Affichages
1 K
Retour