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

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.
 

GIBI

XLDnaute Impliqué
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")
 

Gustavo Fring

XLDnaute Nouveau
Re : Bug lors de l'execution de ma première macro VBA

Même après correction, je rencontre encore des soucis.

Je vous met un exemple en pièce jointe.

Merci !
 

Pièces jointes

  • Exemple_1.xlsm
    15.4 KB · Affichages: 34
  • Exemple_1.xlsm
    15.4 KB · Affichages: 37
  • Exemple_1.xlsm
    15.4 KB · Affichages: 36

tototiti2008

XLDnaute Barbatruc
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:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…