Cacher un control de liste modifiable

PAT0051

XLDnaute Nouveau
Bonjour,
Voici mon problème.
Dans une liste de zone modifiable crée avec la barre à outil « Formulaire », je souhaite pouvoir cocher la case « Déplacer et dimensionner avec les cellules » mais celle-ci est grisée donc inaccessible. Quelqu’un connaît-il une solution ?
Le but étant si je cache la ligne ou ce trouve le contrôle, de cacher celui-ci.

Merci de votre aide
 

PAT0051

XLDnaute Nouveau
Re : Cacher un control de liste modifiable

Bonjour Skoobi,
Et merci de m'aider.
Je veux justement utiliser une macro pour cacher un groupe de lignes et les controls.....
J'arrive à cacher les lignes mais l'ensemble des controls se retrouvent empilés et visibles.
Si tu peux me faire un exemple, je suis preneur
 

skoobi

XLDnaute Barbatruc
Re : Cacher un control de liste modifiable

Re bonsoir,

l'astuce est d'identifier la ligne de la cellule avec laquelle le "controle" est associé en controlant si cette ligne est cachée ou non:

Code:
Sub Macro1()
If ActiveSheet.Shapes(1).TopLeftCell.EntireRow.Hidden Then
    ActiveSheet.Shapes(1).Visible = False
    Else: ActiveSheet.Shapes(1).Visible = True
End If
End Sub

Bon test.
 

PAT0051

XLDnaute Nouveau
Re : Cacher un control de liste modifiable

Bonsoir,

Merci de ta reponse,
J'essaye de comprendre ta macro, mais j'ai un peut de mal.

Voici la macro que j'utilise pour le moment

Sub MASQUER1()
'
'Masquer par trie
'

ActiveWindow.SmallScroll Down:=9
Selection.AutoFilter Field:=1, Criteria1:="1"
ActiveWindow.SmallScroll Down:=-105
Range("E8").Select

End Sub

ou une autre que j'ai testé

Sub MASQUER()
'
'NE LAISSE QUE LES CHOIX A REMPLIR
'

Rows("121:136").Select
Selection.EntireRow.Hidden = True

End Sub

Mais je ne voie pas comment les lier à ton exemple.....
 

skoobi

XLDnaute Barbatruc
Re : Cacher un control de liste modifiable

Re,

ajoute la partie bleue.

Code:
Sub MASQUER1()
'
'Masquer par trie
'

ActiveWindow.SmallScroll Down:=9
Selection.AutoFilter Field:=1, Criteria1:="1"
ActiveWindow.SmallScroll Down:=-105
Range("E8").Select

[B][COLOR="Blue"]For Each sh In ActiveSheet.Shapes 'boucle tous les controles formulaires
    If sh.Name Like "Drop Down*" Then 'vérifie que le controle est une liste déroulante
        On Error Resume Next
'la raison de cette gestion d'erreur est que le "bouton" du filtre automatique a le même nom qu'une
'liste déroulante mais la ligne ci-dessous plante quand il s'agit du bouton de filtre
        lig = sh.TopLeftCell.Row
        If Err.Number = 0 Then
            If sh.TopLeftCell.EntireRow.Hidden Then
                sh.Visible = False
                Else: sh.Visible = True
            End If
        End If
    End If
Next sh[/COLOR][/B]

End Sub

Si tu veux plus d'explication....

Edit:
Au fait, il faut également ajouter ces lignes dans une macro que tu appelleras par exemple "AFFICHER" (à moins que tu ne l'ai déjà) pour que lorsque tu affiches tout (désactive le filtre auto), les listes déroulantes s'affichent à nouveau.
 
Dernière édition:

PAT0051

XLDnaute Nouveau
Re : Cacher un control de liste modifiable

Re,

J’essaye mais cela ne marche pas…..

Tu me dis que « l'astuce est d'identifier la ligne de la cellule avec laquelle le "contrôle" est associé en contrôlant si cette ligne est cachée ou non: »
La liste associée au contrôle se trouve dans une autre page et n’est pas cachée…
 

PAT0051

XLDnaute Nouveau
Re : Cacher un control de liste modifiable

Génial, ca marche.
Cela fait plus de 6 mois que je cherchais comment faire.
Mon programme sera vraiment plus convivial maintenant

Encore merci de ton aide.
Premiere question que je pose sur ce site et probleme réglé en 24 heures.
Je n'oublirai pas de donner un coup de pouce.

A+
PAT0051
 

Discussions similaires

Réponses
1
Affichages
543