Cacher zone de liste déroulante avec un groupement de ligne

Bonjour à tous,

J'ai placé une zone de liste déroulante via le contrôle formulaire sur la plage de cellules, par exemple D50 à D51. Le problème que je rencontre est que lorsque je groupe une plage de lignes, par exemple de la ligne 49 à la ligne 60, la liste déroulante n'est pas masquée. J'ai vérifié les paramètres, mais je ne peux pas cocher "Déplacer et dimensionner avec les cellules". Savez-vous pourquoi svp ?

image

Cordialement,

Bonjour,

C'est tout à fait normal, il faut jouer sur sa propriété visible pour la cacher Feuil1.Shapes("Drop Down 1").Visible = msoFalse

Bonjour Jean-Paul,

Merci pour ta réponse.

Où dois-je placer ce code ? Est-il possible de le mettre dans le module "ThisWorkbook" ? Car plusieurs feuilles ont les mêmes listes déroulantes, et je crée également ces feuilles au fur et à mesure avec du VBA.

Cordialement,

Où dois-je placer ce code ?

Il va être quand même très difficile d'intercepter cet évènement, je parle en fait intercepter le fait de cacher des lignes.
Excel déclenche certains évènement quand on change de feuille, quand on modifie le contenu d'une cellule, mais pas quand on cache des lignes, pour se faire il faudrait jouer sur l'évènement SelectionChange, donc :

  • Sélectionner une cellule sur une des lignes à cacher.
  • Cacher les lignes
  • Puis sélectionner une autre ligne ou cellule

Là on pourrait intercepter le changement :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    With Sh
        If .Name = "Feuil1" Then
            .Shapes("Drop Down 1").Visible = (.Rows(10).Hidden = False)
        End If
    End With
End Sub

Une autre manière de faire consisterait (si ce sont toujours les mêmes lignes que l'on cache) de leur donner un, ou plusieurs noms (plusieurs groupements), puis de gérer tout cela grâce à une macro.

Enfin la dernière solution qui me viens à l'idée c'est d'utiliser une liste de validation dans une cellule, si l'on cache la ligne la liste est aussi cachée.

Voilà de mon coté je ne vois que cela, mais peut-être que d'autres auront des idées là dessus.

Bonjour,

L' option de redimensionnement avec les cellules n'est pas disponible pour une zone de liste déroulante issue d'un contrôle formulaire. En revanche, elle l'est pour une pour une zone de liste déroulante issue d'un contrôle ActiveX.

Pour résoudre votre souci, vous devez donc choisir un contrôle ActiveX et non un contrôle Formulaire. Il vous suffira alors dans la propriété "Placement" de ce contrôle de saisir :1 = option de redimensionnement avec les cellules.

Bonjour,

Très bien, merci à vous deux vos solutions.

Cordialement,

Rechercher des sujets similaires à "cacher zone liste deroulante groupement ligne"