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 :D

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

Statistiques des forums

Discussions
312 391
Messages
2 087 985
Membres
103 690
dernier inscrit
LeDuc