Masquer bouton d'un userform en fonction de la page selectionnée

  • Initiateur de la discussion Initiateur de la discussion mirooz
  • Date de début Date de début

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 !

mirooz

XLDnaute Nouveau
Bonjour à tous

Me revoila pour une nouvelle question sur les userform.

Sur le fichier exemple ci joint, j'essaye simplement de faire en sorte que le bouton 1 soit inactif sur la feuille 1, le bouton 2 inactif sur la feuille 2 et le 3 sur la feuille 3.
J'aimerais que l'actualisation du userform se fasse sans avoir à le fermer, simplement lorsque je change de page.

J'ai pensé au code suivant mais ça n'a pas fonctionné:

If ActiveSheet = ("feuil1") Then
CommandButton1.Enabled = False

Je pense que j'ai du oublier des éléments et je vous remercie d'avance si vous pouvez me filer un coup de main.
 

Pièces jointes

Re : Masquer bouton d'un userform en fonction de la page selectionnée

Bonjour Miroz,

si j'ai bien compris, essaye peut être le code ci dessous à mettre dans le module de chaque feuilles, modifier les valeurs "true" et "false" en fonction :

Code:
Private Sub Worksheet_Activate()
    UserForm1.CommandButton1.Enabled = True
    UserForm1.CommandButton2.Enabled = False
    UserForm1.CommandButton3.Enabled = False
End Sub

bonne journée
@+
 
Re : Masquer bouton d'un userform en fonction de la page selectionnée

Bonjour à tous

j'ai à nouveau un petit souci:
Grace au code de Pierrot, le userform se met à jour à chaque fois que je change de page et ce lorsqu'il reste ouvert, comme je le souhaitais.

Cependant il y a un problème auquel je n'avais pas pensé: le userform se met à jour lorsque je change de page certe, mais pas dans le cas ou je le ferme puis le ré-ouvre à nouveau en restant sur la même page (dans ce cas tous les boutons sont actifs par défaut, ce que je ne veux pas)

J'ai fait un essai avec la fonction "with sheets" pour remédier à ce problème, mais ça ne fonctionne pas puisque le seul "with" qui est pris en compte est le dernier. Je l'ai laissé quand même pour l'exemple.

Plus précisément, je souhaite qu'à l'ouverture du userform, une macro vérifie quelle est la page active et applique la mise en page du userform en conséquence (bouton 1 uniquement affiché sur la page 1, bouton 2 sur la page 2...)

Je vous laisse mon fichier, vous comprendrez surement mieux.

Je vous remercie d'avance pour votre aide.
 

Pièces jointes

Re : Masquer bouton d'un userform en fonction de la page selectionnée

Bonjour Mirooz,

tu mets la propriété "Enabled" à "false" des 3 boutons (via la fenêtre propriétés des objets), et tu rajoutes le code ci dessous dans le module de l'USF :

Code:
Private Sub UserForm_Initialize()
If ActiveSheet.Name = "Feuil1" Then
    CommandButton1.Enabled = True
    ElseIf ActiveSheet.Name = "Feuil2" Then CommandButton2.Enabled = True
    ElseIf ActiveSheet.Name = "Feuil3" Then CommandButton3.Enabled = True
End If
End Sub

bonne fin d'après midi.
@+

edition : tu enlèves les instructions relatives aux boutons dans le module 1
 
- 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

Retour