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

Alleger et simplifier

  • Initiateur de la discussion Initiateur de la discussion atos01
  • 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 !

A

atos01

Guest
Bonjour à tous.

C'est ma 1ère demande d'aide alors s'il vous plait soyez indulgents.

J'aimerais si c'est possible que quelqu'un me dise comment alleger et/ou simplifier le code suivant:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$7" Then
    Select Case Target
    '
    'Choix dans liste déroulante du nombre de liens
    '
        Case "3"
            ActiveSheet.Shapes("Grouper 76").Visible = True          ' Plan 3 liens
            ActiveSheet.Shapes("Grouper 359").Visible = False        ' Plan 4 liens
            ActiveSheet.Shapes("Grouper 5").Visible = False           ' Plan 5 liens
            ActiveSheet.Shapes("Grouper 30").Visible = False         ' Plan 6 liens
            ActiveSheet.Shapes("Grouper 186").Visible = False       ' Plan 7 liens
            ActiveSheet.Shapes("Grouper 222").Visible = False       ' Plan 8 liens
            ActiveSheet.Shapes("Grouper 4").Visible = False          ' Plan 9 liens
            ActiveSheet.Shapes("Grouper 2").Visible = False          ' Plan 10 liens
            ActiveSheet.Shapes("Grouper 75").Visible = False        ' Plan 11 liens

            
        Case "4"
            ActiveSheet.Shapes("Grouper 76").Visible = False
            ActiveSheet.Shapes("Grouper 359").Visible = True
            ActiveSheet.Shapes("Grouper 5").Visible = False
            ActiveSheet.Shapes("Grouper 30").Visible = False
            ActiveSheet.Shapes("Grouper 186").Visible = False
            ActiveSheet.Shapes("Grouper 222").Visible = False
            ActiveSheet.Shapes("Grouper 4").Visible = False
            ActiveSheet.Shapes("Grouper 2").Visible = False
            ActiveSheet.Shapes("Grouper 75").Visible = False
Et ainsi de suite jusque Case 11


Fin du code
Code:
        Case Else
            ActiveSheet.Shapes("Grouper 76").Visible = False
            ActiveSheet.Shapes("Grouper 359").Visible = False
            ActiveSheet.Shapes("Grouper 5").Visible = False
            ActiveSheet.Shapes("Grouper 30").Visible = False
            ActiveSheet.Shapes("Grouper 186").Visible = False
            ActiveSheet.Shapes("Grouper 222").Visible = False
            ActiveSheet.Shapes("Grouper 4").Visible = False
            ActiveSheet.Shapes("Grouper 2").Visible = False
            ActiveSheet.Shapes("Grouper 75").Visible = False
          
    End Select
End If
End Sub
J'espère que c'est claire.

Merci pour votre aide.
 
Re : Alleger et simplifier

Merci pour ta réponse FREDO

Mais cela ne fonctionne pas.
Lorsque je fais une sélection dans la liste déroulante rien ne se passe, sauf pour les choix 10 et 11. (case 10 et case 11)
Mais même comme çà l'image qui s'affiche ne correspond pas au choix.
C'est à dire que c'est l'image qui normalement correspond au choix n°3 (case 3)de la liste
Merci pour la suite
 
Re : Alleger et simplifier

Re-bonjour atos01,

Désolé j'avais mal lu ton code. Tu peux donc simplifier comme ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$E$7" Then
        '
        'Choix dans liste déroulante du nombre de liens
        '
        ActiveSheet.Shapes("Grouper 76").Visible = Target = 3        ' Plan 3 liens
        ActiveSheet.Shapes("Grouper 359").Visible = Target = 4        ' Plan 4 liens
        ActiveSheet.Shapes("Grouper 5").Visible = Target = 5           ' Plan 5 liens
        ActiveSheet.Shapes("Grouper 30").Visible = Target = 6         ' Plan 6 liens
        ActiveSheet.Shapes("Grouper 186").Visible = Target = 7       ' Plan 7 liens
        ActiveSheet.Shapes("Grouper 222").Visible = Target = 8       ' Plan 8 liens
        ActiveSheet.Shapes("Grouper 4").Visible = Target = 9          ' Plan 9 liens
        ActiveSheet.Shapes("Grouper 2").Visible = Target = 10          ' Plan 10 liens
        ActiveSheet.Shapes("Grouper 75").Visible = Target = 11        ' Plan 11 liens
    End If
End Sub

Testes-le et dis moi.

A+
 
Re : Alleger et simplifier

Me revoici déjà.
Pour une autre requête.
Est il possible d'apter cette methode à un controle de formulaire (zone de liste)
Si oui avec quel code?
Merci
 
Re : Alleger et simplifier

Salut Fredo.
La, de suite je n'ai pas le temps de continuer notre échange.
Mais, dés que j'aurais un moment, j'essaierais de poster ce que tu veux pour que tu puisses continuer de m'aider, si c'est possible pour toi bien entendu!

Dis-moi si c'est OK.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

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