Afficher ou cacher un Bouton selon un caption

MastJager Messages postés 21 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous !

J'ai un document Excel qui exécute une maccro si ont clique une zone de txt.

Toutes mes macro exécutent le même Multipage qui affichent mes données dans différents Captions. Pour différencier mes macro j'utilise un caption de référence comprenant le nom de ma macro.

Mon problème est je n'arrive pas a afficher ou cacher un bouton selon la macro exécute :/.

J'ai une début de piste de mon coté :

Private Sub UserForm_Initialize()

If Label_ref.Caption = "macro" Then
BoutonJPT.Visible = True
Else
BoutonJPT.Visible = False
End If
End Sub

J'espère que je suis assez claire? Si non n'hésiter pas à me demander plus d'info..

merci à l'avance

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Cela devrait fonctionner et tu peux même simplifier ainsi :
    Private Sub UserForm_Initialize()
        BoutonJPT.Visible = IIf(Label_ref.Caption = "macro", False, True)
    End Sub
    
    1
    1. MastJager Messages postés 21 Statut Membre
       
      Merci de ta réponse rapide

      Mais malheureusement ta ligne de code ne fonctionne pas, je pense que cela doit venir du "Label_ref.Caption".

      Je suis un débutant en VBA, pour tester mon label je devrais afficher un Messagebox contenant mon label ?

      Mais je ne sais comment programmé ça :/
      0
    2. MastJager Messages postés 21 Statut Membre
       
      J'ai réussi à faire un teste avec un message Box

      Private Sub UserForm_Initialize()
      txt = Label_ref.Caption
      MultiPage1.Value = 0
      BoutonJPT.Visible = IIf(Label_ref.Name = "macro", False, True)
      MsgBox txt
      End Sub

      Le message Box affiche un caption défini par défaut, il n'affiche pas le nouveau caption qui est censé être " macro"
      0
    3. MastJager Messages postés 21 Statut Membre
       
      J'ai refait un test ( désolé du triple post )

      Quand j’exécute :
      Private Sub UserForm_Initialize()
      txt = Label_ref.Caption
      MultiPage1.Value = 0
      If Label_ref.Caption = "Référenc" Then
      BoutonJPT.Visible = True
      Else
      BoutonJPT.Visible = False
      End If

      End Sub

      Le bouton n'est pas visible et si j'exécute :

      Private Sub UserForm_Initialize()
      txt = Label_ref.Caption
      MultiPage1.Value = 0
      If Label_ref.Caption = "Référence" Then
      BoutonJPT.Visible = True
      Else
      BoutonJPT.Visible = False
      End If

      End Sub

      Le bouton est visible.

      Donc mon problème viens bien de mon caption qui n'est pas pris en compte à l'initialisation du USF ( je pense )

      Pour aider voici ma maccro :

      Sub BuchholzTP()
      reference = "BuchholzTP"
      Call colonnes
      adresse_ref = Sheets("Contenu").Range("A:A").Cells.Find(reference).Address
      ligne_ref = Split(adresse_ref, "$")(2)

      'TEST_DYNAMIQUE.caption = Sheets("Contenu").Range(col_nom & ligne_ref).Value
      TEST_DYNAMIQUE.Label1.Caption = Sheets("Contenu").Range("C" & ligne_ref).Value
      TEST_DYNAMIQUE.Label2.Caption = Sheets("Contenu").Range("D" & ligne_ref).Value
      TEST_DYNAMIQUE.Label3.Caption = Sheets("Contenu").Range("E" & ligne_ref).Value
      TEST_DYNAMIQUE.Label4.Caption = Sheets("Contenu").Range("F" & ligne_ref).Value


      TEST_DYNAMIQUE.Label_ref = reference
      TEST_DYNAMIQUE.Show
      End Sub
      0
    4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonsoir,

      Mais malheureusement ta ligne de code ne fonctionne pas,
      Pourtant cette ligne de code fonctionne si elle est utilisée correctement.

      Si dans Label_ref tu n'as pas ce que tu attends nécessairement le résultat n'est pas celui attendu. Plutôt que de mettre un msgbox tu devrais faire du pas à pas et regarder ce que tu as dans tes variables.
      0