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

Bug lors de l'execution de ma première macro VBA

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 !

Gustavo Fring

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je suis en train de taper ma première macro et j'ai un petit soucis.

Je souhaite afficher ou cacher un bouton (BT_CREA_SAISIE) en fonction d'une liste déroulante (CHOIX4) et ce, dès l'ouverture de mon classeur Excel.

Les choix possibles sur cette liste déroulante sont les suivants : - Vide (vraiment vide 🙂)
- B
- C
- D

Et voici mon code VBA :

------------------------------------

Private Sub Workbook_Open()

Select Case CHOIX4 'liste déroulant choix4

Case "Outillage unique"
BT_CREA_CLE.Visible = True

Case "Outillage appartenant à un ensemble"
BT_CREA_CLE.Visible = False

Case "Outillage pouvant remplacer un autre outillage"
BT_CREA_CLE.Visible = False

Case ""
BT_CREA_CLE.Visible = False

End Select

End Sub

------------------------------------

Lorsque je lance le débogueur, celui-ci me renvoie l'information suivante :

------------------------------------

Erreur d'execution '424' :

Objet requis

------------------------------------

Je ne connais absolument pas le VBA (mais ce n'est qu'une question de temps, je commence juste ^^). C'est pour celà que je ne sais pas comment faire pour déboguer ma petite macro.

Je demande donc votre aide 😀

En vous remerciant.
 
Re : Bug lors de l'execution de ma première macro VBA

Bonjour,

avec une pièce jointe cela aurait été plus clair.

identifier le bouton par l'onglet qui le contient Sheets("ONglet").BT_CREA_CLE.Visible = False

Si CHOIX4 est le nom de la cellule qui contient la valeur à tester il faut écrire select case Range("CHOIX4")
 
Re : Bug lors de l'execution de ma première macro VBA

Bonjour Gustavo, Bonjour GIBI 🙂,

Peut-être, dans un module

Code:
Sub AffichMasq()
    Select Case Sheets("Saisie").Range("CHOIX4").Value                                             'Liste deroulante : choix4
       Case "", "B"
            Sheets("Saisie").Shapes("BT_CREA_CLE").Visible = False
            
       Case "A", "C"
            Sheets("Saisie").Shapes("BT_CREA_CLE").Visible = True
    End Select
End Sub

Dans ThisWorkbook

Code:
Private Sub Workbook_Open()
    Call AffichMasq
End Sub

Dans le code de la feuille Saisie :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("CHOIX4").Address Then
        Call AffichMasq
    End If
End Sub

Edit : Correction de Worksheet_change, marchait pas bien
 
Dernière édition:
- 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

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