Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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.
@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:
This code will loop through each of your Form Control checkboxes and let you 'do something' based on if the checkbox is checked or not.
www.thespreadsheetguru.com
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
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.
@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 !!!
@Dudu2,
Si on fait clic droit sur la Checkboxex en C1 et Format de contrôle, on voit que la cellule liée est O1.
Donc O1 sera VRAI si la checkbox est cliquée, sinon FAUX.
Et c'est la même chose pour toutes les checkbox.
- 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