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

Bonjour,
j'ai regardé de nouveau ton fichier, et je reste persuadé que la meilleure façon est de masquer les lignes dès que tu actives l'onglet, en désactivant le calcul automatique
Tu auras 2 secondes d'attente, OK, mais si tu veux faire toutes les feuilles en même temps, tu auras alors tes 30 secondes
 
Re : Masquage de lignes via cases à cocher

Hello bhbh,

merci d'avoir regardé le fichier! Je préférerais quand même avoir un délai de 30 secondes une seule fois (à chaque configuration du fichier, qui ne changera d'ailleurs pas tous les mois).

En plus, je ne sais pas si tu as remarqué mais le nouveau code du masquage des lignes et celui de l'affichage des onglets génèrent ensemble une bonne minute et demi de blocage du fichier. C'est pour ça que masquer les lignes une fois pour toute avec un bouton serait je pense la meilleure solution. Qu'est-ce que tu en penses ?
 
Re : Masquage de lignes via cases à cocher

Re-,

une macro qui masque les lignes voulues des feuilles Visibles

Code:
Sub Macro1()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Sh In ActiveWorkbook.Sheets
    With Sh
        If .Visible = True Then
            .Cells.EntireRow.Hidden = False
            .Select Replace:=False
        End If
    End With
Next Sh
On Error Resume Next
Sheets("Controle").Range("AI25:AI161").SpecialCells(xlCellTypeBlanks).EntireRow.Select
On Error GoTo 0
For Each Sh In Sheets
    Sh.Activate
    Selection.EntireRow.Hidden = True
Next Sh
Selection.EntireRow.Hidden = True
Sheets("Controle").Select
Sheets("Controle").Cells.EntireRow.Hidden = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

et dans le Thisworkbook, rajoute ceci en début de code :

Code:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

et en fin de code :

Code:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 
Re : Masquage de lignes via cases à cocher

Merci bhbh, cela fonctionne très bien et cela a l'air en plus beaucoup plus rapide niveau temps d'exécution que l'autre code! Je vais faire de ce pas des tests avec le fichier final.
Merci encore 🙂
 
Re : Masquage de lignes via cases à cocher

Juste une dernière chose, quelle serait la modification à faire pour que la macro s'applique à toutes les feuilles (même les non visibles), sauf "controle" sans avoir à afficher toutes les feuilles ?
 
- 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