Masquage de lignes via cases à cocher

  • Initiateur de la discussion Initiateur de la discussion Choops
  • Date de début Date de début

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 !

Choops

XLDnaute Occasionnel
Bonjour à tous,

comment faire en sorte que lorsque l’on désélectionne une case d'option d'une colonne, la ligne correspondante soit masquée dans toutes les feuilles précédentes càd de sem1 à sem6 ?

C’est vraiment un numéro de ligne que je voudrais pouvoir masquer et non une ligne parce qu’il y a écrit telle chose dans telle cellule. L’intérêt est que si je rajoute des nouvelles tâche en cours d’année, ça ne sera pas trop compliqué de mettre le code à jour.

Merci d’avance!
 
Dernière édition:
Re : Masquage de lignes via cases à cocher

Bonsoir

Ci joint le fichier avec une macro à tester et à modifier.
La macro recherche le texte de la colonne A de la feuille "Controle" et masque la ligne lorsque le texte est trouvé

JP
 

Pièces jointes

Dernière édition:
Re : Masquage de lignes via cases à cocher

Bonjour, merci pour ta réponse!
Est-ce que ça serait possible plutôt que de masquer en fonction du texte, de masquer une ligne en particulier ? Par ex, si la case x de la feuille « contrôle » est cochée alors ça masque la ligne y des feuilles sem1:sem6 quelque soit le texte. Ça me permettra de changer les libellés sans problème en cas de mise à jour ! 🙂
 
Re : Masquage de lignes via cases à cocher

Bonjour

Bonjour, merci pour ta réponse!
Est-ce que ça serait possible plutôt que de masquer en fonction du texte, de masquer une ligne en particulier ? Par ex, si la case x de la feuille « contrôle » est cochée alors ça masque la ligne y des feuilles sem1:sem6 quelque soit le texte. Ça me permettra de changer les libellés sans problème en cas de mise à jour ! 🙂

J'ai utilisé pour masquer l'égalité des textes car si on regarde la feuille "sem1" la ligne 6 ne correspond pas aux lignes de la feuille contrôle.

JP
 
Re : Masquage de lignes via cases à cocher

Oui c’est vrai mais ça ne correspond pas vraiment à ce que je cherche à obtenir. Je n’aurais pas dû mettre les libellés dans la feuille car ça peut prêter à confusion. C’est vraiment ce que j’ai décrit dans mon post précédent.
Merci!
 
Re : Masquage de lignes via cases à cocher

Bonjour Choops, bonjour le forum, heureux d'être de retour parmi vous...

Une autre approche, tu fais un double-clic dans une cellule de la colonne A, dans la colonne L de cette ligne apparait un "X" (signifie que les lignes correspondantes sont masquées), et dans chaque onglet, la ligne correspondant à la ligne de cette cellule + 19 est masquée

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 1 Then Exit Sub
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Controle" Then
With Sheets(i)
    .Rows(ActiveCell.Row + 19).Hidden = IIf(.Rows(ActiveCell.Row + 19).Hidden = True, False, True)
End With
End If
Next i
Cells(ActiveCell.Row, 12) = IIf(Cells(ActiveCell.Row, 12).Value = "X", "", "X")
Cancel = True
End Sub
 

Pièces jointes

Re : Masquage de lignes via cases à cocher

Hello bhbh, merci beaucoup pour ton aide!

Cela correspond exactement à ce que je voulais obtenir. Est-ce qu’il serait cependant possible d’avoir une sorte de bouton « Reset » qui démasquerait les lignes de toutes les feuilles (sauf toujours « Contrôle ») et supprimerait les croix de la colonne L pour garder la cohérence de ta macro précédente ?

Merci encore!!
 
Re : Masquage de lignes via cases à cocher

Bhbh, merci encore!

Par contre si je comprends bien, il n’y a plus de macro ? Je n’en ai trouvé aucune dans la liste, uniquement un code associé à Feuil3 (Controle), c’est bien ça ?
En tout cas tu as résolu mon principal problème.
 
Re : Masquage de lignes via cases à cocher

Re-,
non, j'ai supprimé les modules inutiles (ils me servent juste à utiliser l'enregistreur de macro, c'est plus rapide que de taper tout à la main...)
le code utilisé est bien dans le code de l'onglet "controle"
 
Re : Masquage de lignes via cases à cocher

Bonsoir Skoobi,
oui 3 mois, ça passe vite, hein?
quoique sans Xld, le temps passe bien moins vite, mais le principal, c'est de revenir, on n'en a que plus de plaisir..
Avec tout le retard que j'ai attrapé, je n'ai même pas encore eu le temps de suivre mes fils de l'an dernier, mais je vous fais entièrement confiance, la relève a été largement à la hauteur, et même supérieure...
Meilleurs voeux à tous
 
Re : Masquage de lignes via cases à cocher

La fréquentation a bien progressée, regarde le record de connexion attente il y a pas si longtemps que ça, donc ton retour sera très apprécié c'est sûr.

Meilleurs voeux à toi aussi, il te restait plus que demain dernier délai pour le souhaiter 😀😛
 
Re : Masquage de lignes via cases à cocher

Super!
J’aurais un nouveau challenge qui serait de faire en sorte que l’onglet de la semaine en cours devienne rouge automatiquement et que seulement les onglets des 4 dernières semaines soient affichées. Est-ce faisable sans trop se compliquer la vie ? Sinon je m’en occuperai manuellement.
 
Re : Masquage de lignes via cases à cocher

Re-,
voici le code à insérer dans le code du classeur.
A l'ouverture de celui-ci, seules les 4 dernières semaines seront visibles, avec la semaine en cours en rouge, toutes les autres sont masquées (pour revoir ces feuilles, faire Format/Feuille/Afficher)

Code:
Private Sub Workbook_Open()
On Error Resume Next
Dim x, y
x = DatePart("ww", Now, 2, 2)
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Controle" Then
y = CDbl(Right(Sheets(i).Name, Len(Sheets(i).Name) - 3))
        Select Case y
            Case Is > x
                Sheets(i).Tab.ColorIndex = -4142
                Sheets(i).Visible = xlHidden
            Case Is = x
                Sheets(i).Tab.ColorIndex = 3
            Case Is >= (x - 3)
                Sheets(i).Tab.ColorIndex = -4142
                Sheets(i).Visible = xlVisible
            Case Is < (x - 3)
                Sheets(i).Tab.ColorIndex = -4142
                Sheets(i).Visible = xlHidden
        End Select
    End If
Next i
End Sub
 

Pièces jointes

- 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

Discussions similaires

B
Réponses
2
Affichages
1 K
Bertrandd
B
L
Réponses
3
Affichages
1 K
louloutenc
L
B
Réponses
3
Affichages
1 K
benoit2602
B
K
Réponses
0
Affichages
993
kevinch
K
Retour