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

XL pour MAC Masquer / Afficher des lignes

Badaboumboum

XLDnaute Nouveau
Bonjour à vous tous,

J'ai parcouru ce forum pour trouver une solution à mon problème. En vain.
J'ai testé pas mal de choses mais sans succès. A mon avis, en raison des adaptations nécessaires à mon besoin ou alors suite à des erreurs de manipulation.

Je me lance donc pour vous exposer mon problème en espérant que vous pourriez m'aider.

Je souhaite que si la valeur de la cellule J7 (obtenue par utilisation d'une liste déroulante en I7) est 0 alors, les lignes 8 à 13 soient masquées.
Si J7 redevient (ou reste) égale à 1 alors les lignes 8 à 13 redeviennent (ou restent) visibles.

Je suis persuadé que ce n'est pas insurmontable mais je bloque et tout ce que j'ai essayé ne fonctionne pas.
J'en suis même à me demander si ce n'est pas la manière dont je rentre le code ou paramètre mes macros qui disfonctionne.

En espérant que vous puissiez m'aider, je vous souhaite une bonne journée.
 

Pièces jointes

  • Indicateurs.xlsm
    18 KB · Affichages: 13
Solution
Re,
Un exemple en PJ. La macro reste très simple et classique:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("I7")) Is Nothing Then
        If Target.Value = "oui" Then
             Rows("8:13").Hidden = True
        Else:
            Rows("8:13").Hidden = False
        End If
    End If
End Sub
A vous de l'adapter en fonction de vos besoins.

Badaboumboum

XLDnaute Nouveau
Bonjour sylvanu,

J'ai effacé systématiquement mes "tests" de macro avant d'en retenter de nouveaux. C'est pourquoi ce fichier en est dépourvu.
Par contre, le ménage n'a pas été fait correctement vu qu'il reste des modules.
En revanche, je n'ai pas de problème d'accentuation chez moi.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un exemple en PJ. La macro reste très simple et classique:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("I7")) Is Nothing Then
        If Target.Value = "oui" Then
             Rows("8:13").Hidden = True
        Else:
            Rows("8:13").Hidden = False
        End If
    End If
End Sub
A vous de l'adapter en fonction de vos besoins.
 

Pièces jointes

  • Indicateurs (5).xlsm
    22.4 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour à tous,

@sylvanu ceci est quand même plus simple :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("I7")) Is Nothing Then Rows("8:13").Hidden = Target = "oui"
End Sub
A+
 

Discussions similaires

Réponses
2
Affichages
185
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…