Masquage de lignes via cases à cocher

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:

jp14

XLDnaute Barbatruc
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

  • stats_test.zip
    30.7 KB · Affichages: 68
Dernière édition:

Choops

XLDnaute Occasionnel
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 ! :)
 

jp14

XLDnaute Barbatruc
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
 

Choops

XLDnaute Occasionnel
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!
 

Cousinhub

XLDnaute Barbatruc
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

  • stats_test2.xls
    147 KB · Affichages: 95

Choops

XLDnaute Occasionnel
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!!
 

Choops

XLDnaute Occasionnel
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.
 

Cousinhub

XLDnaute Barbatruc
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"
 

Cousinhub

XLDnaute Barbatruc
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
 

skoobi

XLDnaute Barbatruc
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 :D:p
 

Choops

XLDnaute Occasionnel
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.
 

Cousinhub

XLDnaute Barbatruc
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

  • stats_test4.xls
    148.5 KB · Affichages: 64

Discussions similaires

Réponses
5
Affichages
579
Réponses
2
Affichages
395
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 756
Messages
2 091 737
Membres
105 060
dernier inscrit
DEDJAN Gaston