Bonjour,

Je sollicite encore le forum pour une aide....

Je souhaite créer autant de checkbox que de cellules non vides (en colonne C) dans le Frame_Composition.
Seulement j'applique au préalable un filtre depuis ma ComboBox1.

Ma macro fonctionne, sauf qu'elle me crée qu'un checkbox ==> Valeur de C1. Et moi je voudrais les valeurs à partir de C3 et seulement celles visibles (car il y a déjà un filtre appliqué).

Une idée ??

Voici le bout de code que j'ai trouvé et adapté à mon cas:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Frame_Composition_Click()
'Creer autant de checkbox que de cellules non vides colonne C
nb_brut = Application.WorksheetFunction.CountA(Feuil4.Range("$C:$C").AutoFilter(Field:=6, Criteria1:=ComboBox1.Value))
For i = 1 To nb_brut
Set ajoutcomp = Frame_Composition.Controls.Add("forms.checkbox.1", Name:="ajoutcomp" & i) ' partie la plus importante
Frame_Composition.Controls("ajoutcomp" & i).Top = 15 * i
Frame_Composition.Controls("ajoutcomp" & i).Caption = Feuil4.Range("c" & i)
Next i
If nb_brut > 8 Then
     Frame_Composition.Height = 135
     Frame_Composition.Width = 155
     Frame_Composition.ScrollBars = fmScrollBarsVertical
     Frame_Composition.ScrollHeight = (16 * nb_brut) + 20
     Else
     Frame_Composition.Height = 135
     Frame_Composition.Width = 150
     Frame_Composition.ScrollBars = fmScrollBarsNone
End If
End Sub
j'ai trouvé ce code qui trouve bien combien de ligne sont visibles, mais comment l'adapter à mon cas (voir code ci-dessus) ???

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
' Permet de savoir le nombre de cellules visibles suite au filtre
 
 Dim Rng As Object
 
 Dim NumRowsFiltre As Long
 
 Set Rng = ActiveSheet.Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
 NumRowsFiltre = Rng.SpecialCells(xlVisible).Count - 1
 
 MsgBox "Il y a :" & NumRowsFiltre & " cellule(s) de visbile(s)"
 
 Set Rng = Nothing