Création
d'entreprise
Posez votre question Signaler

Si checkbox non cocher, masquer la ligne

MRpaul - Dernière réponse le 15 oct. 2008 à 17:18
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
Lire la suite 

Si checkbox non cocher, masquer la ligne »

5 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Sorry, j'ai confondu avec un UF, voila le code pour une feuille...

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.
Ajouter un commentaire
Réponse
-1
moins plus
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
MRpaul - 15 oct. 2008 à 12:36
je fais un tableau de bord pour une entreprise donc j'ai besoin d'une présentation clair. cocher permettrai de selectionner des affaires en cours et d'enlever celles qui ne sont pas visées pour avoir un tableau propre et eviter de saisir des données dans une mauvaise ligne...
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,
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+
Ajouter un commentaire
Ce document intitulé « Si checkbox non cocher, masquer la ligne » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?