Si checkbox non cocher, masquer la ligne
MRpaul
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
j'aurai besoin d'un petit coup de main pour VBA excel. J'ai créé une feuille contenant au début de chaques lignes une case à cocher (sur 120 lignes). Mon but est, lorsque je clique sur un bouton ok, de créer une boucle qui lit chaque checkbox (associer à une ligne). Si la case n'est pas cocher alors la ligne est masquée et Next. Pour cela j'ai essayer d'utiliser for each checkbox in ....
Je sais que ce petit programme peut tenir en quelques lignes mais pas de solution probante.
Si vous avez quelques indices merci
bonne journée
j'aurai besoin d'un petit coup de main pour VBA excel. J'ai créé une feuille contenant au début de chaques lignes une case à cocher (sur 120 lignes). Mon but est, lorsque je clique sur un bouton ok, de créer une boucle qui lit chaque checkbox (associer à une ligne). Si la case n'est pas cocher alors la ligne est masquée et Next. Pour cela j'ai essayer d'utiliser for each checkbox in ....
Je sais que ce petit programme peut tenir en quelques lignes mais pas de solution probante.
Si vous avez quelques indices merci
bonne journée
A voir également:
- Si checkbox non cocher, masquer la ligne
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne excel mac - Guide
- Masquer conversation whatsapp - Guide
4 réponses
Salut,
j'ai mis ton code dans le bouton approprié puis j'ai renommé les 120 cellules mais lorsque que je clique sur le bouton rien ne se passe. ma premiere checkbox est en "A6" puis "A7"....
De plus j'ai souhaite créer un second bouton pour réinitialiser toutes les lignes masquer...
Merci pour ton aide
j'ai mis ton code dans le bouton approprié puis j'ai renommé les 120 cellules mais lorsque que je clique sur le bouton rien ne se passe. ma premiere checkbox est en "A6" puis "A7"....
De plus j'ai souhaite créer un second bouton pour réinitialiser toutes les lignes masquer...
Merci pour ton aide
Sorry, j'ai confondu avec un UF, voila le code pour une feuille...
Tu dit...
A+
Une chose m'interpelle quand même...
j'ai renommé les 120 cellules
???
C'est pas les cellules qui faut renommer mais les checkbox.
Private Sub CommandButton1_Click()
Dim Obj As OLEObject
Dim Lig1 as integer
Lig1 = 6
'boucle sur les objets de la Feuil1
For Each Obj In Sheets("Feuil1").OLEObjects
'verifie s'il s'agit d'un CheckBox
If TypeOf Obj.Object Is MSForms.CheckBox Then
If Obj.Object.Value = False Then
Obj.Object.visible = False
N = Val(Right(Obj.Name, 3)) + Lig1
Rows(N).Hidden = True
End If
End If
Next Obj
End Sub
Tu dit...
A+
Une chose m'interpelle quand même...
j'ai renommé les 120 cellules
???
C'est pas les cellules qui faut renommer mais les checkbox.
Bonjour,
et pouquoi t'embéter avec des cases à cocher ?
Un simple x dans une colonne et tu ajoutes un filtre automatique sur la ligne de titres.
eric
et pouquoi t'embéter avec des cases à cocher ?
Un simple x dans une colonne et tu ajoutes un filtre automatique sur la ligne de titres.
eric
Bonjour,
Essaye avec...
Dabord une petite modification dans les noms des CheckBox
En commencant par les premier... CheckBox001.. CheckBox002... CheckBox010.. CheckBox099.. CheckBox100 etc..
A mettre dans le module de la feuille concernée.
A+
Essaye avec...
Dabord une petite modification dans les noms des CheckBox
En commencant par les premier... CheckBox001.. CheckBox002... CheckBox010.. CheckBox099.. CheckBox100 etc..
Private Sub CommandButton1_Click()
Dim Cont As Control
Dim Lig1 as integer
Dim N as integer
Lig1=4 ' ajuster à la première ligne du premier CheckBox
For Each Cont In Me.Controls
If TypeOf Cont Is MSForms.CheckBox Then
if Cont.Value = False then
N = Val(Right(Cont.Name, 3)) + Lig1
Rows(N).visible = False
End if
End If
Next Cont
End Sub
A mettre dans le module de la feuille concernée.
A+