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
Retour