Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 (RESOLU) Affichage et Masquage des lignes en fonction de la valeur numérique dans une cellule.

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 !

chaelie2015

XLDnaute Accro
Bonsoir Forum
Je souhaite automatiser l'affichage et la masquage des lignes de A17 à A47 (feuilleBest) en fonction de la valeur résultante d'une formule dans la cellule AM6, qui est un chiffre.
Merci
 
Solution
Mais au vu de votre fichier, comme AM6 change sur changement de valeur de AL5 AL6, Cette PJ est plus intéressante :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [AL5:AL6]) Is Nothing Then
        N = [AM6].Value
        Application.EnableEvents = False
        If N > 0 And N <= 31 Then
            Application.ScreenUpdating = False
            L = 17 + N
            Rows("17:48").Hidden = False
            Rows(L & ":48").Hidden = True
        Else
            Rows("17:48").Hidden = False
        End If
    End If
Fin:
Application.EnableEvents = True
End Sub
car Worksheet_Calculate s'exécutera à chaque recalcul dans la feuille, alors que...
Bonjour Chaelie,
Un essai en PJ avec :
VB:
Sub Worksheet_Calculate()
    If [AM6].Value = 10 Then            ' Adapter 10 avec la valeur désirée pour masquer les lignes
        Rows("17:47").Hidden = True
    Else
        Rows("17:47").Hidden = False
    End If
End Sub
 

Pièces jointes

Bonjour sylvanu
Je vous remercie pour la réponse, cependant, ce que je souhaite faire, c'est cacher ou afficher les lignes de A17 à A47 en fonction du contenu de la cellule AM6. Par exemple, si AM6 contient le chiffre 28, alors je voudrais masquer les lignes de 45 à 47, tout en laissant les autres lignes (7 à 44) visibles.
Merci
 
Désolé, la demande n'était pas claire sur ce point.
En PJ un essai avec :
VB:
Sub Worksheet_Calculate()
    N = [AM6].Value
    If N > 0 And N <= 30 Then
        Application.ScreenUpdating = False
        L = 17 + N
        Rows("17:47").Hidden = False
        Rows(L & ":47").Hidden = True
    Else
        Rows("17:47").Hidden = False
    End If
End Sub
Par défaut si dans AM6 la valeur est erronée alors j'affiche tout. Sinon supprimez le Else.
 

Pièces jointes

J'ai rajouté un Application.EnableEvents = False pour ne pas que votre macro s'appelle elle même.
... et en plus le fichier permet de comprendre à quoi ça sert. J'y ai vu un bug dans la macro en terme de N° de lignes, j'ai rectifié avec :
VB:
Sub Worksheet_Calculate()
    On Error GoTo Fin
    N = [AM6].Value
    Application.EnableEvents = False
    If N > 0 And N <= 31 Then
        Application.ScreenUpdating = False
        L = 17 + N
        Rows("17:48").Hidden = False
        Rows(L & ":48").Hidden = True
    Else
        Rows("17:48").Hidden = False
    End If
Fin:
Application.EnableEvents = True
End Sub
 

Pièces jointes

Mais au vu de votre fichier, comme AM6 change sur changement de valeur de AL5 AL6, Cette PJ est plus intéressante :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [AL5:AL6]) Is Nothing Then
        N = [AM6].Value
        Application.EnableEvents = False
        If N > 0 And N <= 31 Then
            Application.ScreenUpdating = False
            L = 17 + N
            Rows("17:48").Hidden = False
            Rows(L & ":48").Hidden = True
        Else
            Rows("17:48").Hidden = False
        End If
    End If
Fin:
Application.EnableEvents = True
End Sub
car Worksheet_Calculate s'exécutera à chaque recalcul dans la feuille, alors que Worksheet_Change ne s'exécutera que lors de changement dans AL5:AL6.
D'où l'intérêt des fichiers test représentatif, cela permet de mieux optimiser les solutions.
 

Pièces jointes

Bobjour sylvanu
Mon problème est résolu, je vous remercie.
A+
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…