Effectuer tri grâce à une CheckBox
Bonjour à tous, j'aurai aimé faire un tri grâce aux checkbox mais malheureusement ça ne fonctionne pas. J'aurai aimé avoir votre avis sur ce que j'ai fait. Merci d'avance :)
Je ne saurais pas trop comment boucler mes CheckBox non plus...
Enfin bref là je suis un peu perdu.
Sub tri()
' Definition des Colonnes'
Selection_Column = 1
Type_Column = Selection_Column + 1
Adresse_Colum = Name_Column + 1
Data_Column = Adresse_Colum + 1
'Definition des valeur de Type_Column'
Type_Registre = "REGISTRE" ' Definit la zone dans laquelle les Registres vont être définis'
Type_Memoire = "MEMOIRE"
nb_ligne = Cells.Find("*", [A1], , , , xlPrevious).Row
i = 2
While i <= nb_ligne
If CheckBox001 = True And MaFeuille.Cells(i, Type_Column) = Type_Registre Then
Debug.Print MaFeuille.Cells(iloop_ligne, Data_Column)
End If
Wend
End Sub
Dans la recherche de mon problème je me suis rendu compte de quelque chose
Sub tri()
Dim MaFeuille As Worksheet
Dim test1 As Boolean
Set MaFeuille = Sheets("Pilotage")
MaFeuille.CheckBoxes("CheckBox001").Value = False
test1 = MaFeuille.CheckBoxes("CheckBox001").Value
Debug.Print test1
End Suble test1 prend la valeur "Vrai" mais quand je ne le déclare pas As Boolean il me renvoie la valeur -4146 si False et 1 si True.
Je comprends pas trop comment ça fonctionne pour le coup. Surtout que je le force à False et que ça me renvoie quand même un Vrai...
J'ai trouvé certains éléments de réponse. Pour ceux que ça pourrait aider voici ce que j'ai fait, et ça fonctionne.
Sub tri()
Dim MaFeuille As Worksheet
Selection_Column = 1
Type_Column = Selection_Column + 1
Adresse_Colum = Type_Column + 1
Data_Column = Adresse_Colum + 1
Type_Registre = "REGISTRE"
Type_Memoire = "MEMOIRE"
'Initialisation de la feuille active
Set MaFeuille = Sheets("Pilotage")
'Comptage du nombre de ligne dans le fichier excel
NbreLigne = Cells.Find("*", [A1], , , , xlPrevious).Row
i = 2
While i <= NbreLigne
Set ctrCheckBox = MaFeuille.CheckBoxes("CheckBox" & (i - 1))
If ((MaFeuille.Cells(i, Type_Column) = Type_Registre) And (ctrCheckBox.Value = 1)) Then
Debug.Print MaFeuille.Cells(i, Data_Column)
End If
i = i + 1
Wend
End Sub
Bonjour,
Après avoir soldé tes posts, regarde le fichier joint.
J'ai supprimé les cases à cocher !
Pour le tri, tu reformules ta question.
Cdlt.
