PB sur modif propriété.Backcolor par macro

  • Initiateur de la discussion Initiateur de la discussion DAVIDRUN
  • 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 !

D

DAVIDRUN

Guest
Bonjour et bonne année à toutes et à tous,

Quelqu'un saurait-il comment changer définitivement la propriété d'un
bouton (Backcolor sur cet exemple), tout cela par macro?

Voici mon code :

Sub CommandButton20_Click()
If CommandButton20.BackColor = &H8000000F Then
CommandButton20.BackColor = &H80FF&
UserForm3.CommandButton20.BackColor = &H80FF&
Else
CommandButton20.BackColor = &H8000000F
UserForm3.CommandButton20.BackColor = &H8000000F
End If
UserForm3.Show
End Sub

Ici la propriété .Backcolor est changée sur l'userform du CommandButton20
mais également sur le CommandButton20 de l'Userform3.
En temps réel celà fonctionne, cependant lorsque je quitte, aucuns
changements n'est fait sur la couleur du bouton...

Merci d'avance pour votre aide

à +
 
Salut David

Je pense que tu devras mettre la bonne couleur à la fermeture de l'userform

Private Sub UserForm_Terminate()
CommandButton20.BackColor = &H8000000F
End Sub

Si j'ai bien compris la question ?????

A+ JPM
 
Bonjour et bonne année également,

Pourquoi ne pas placer le code lors des activations, que ce soit de feuille ou de UserForm, au lieu de lors de l'action du bouton?

Dans l'activation de feuille cela deviendrait:

Private Sub Worksheet_Activate()
If ActiveSheet.CommandButton20.BackColor = &H8000000F Then
ActiveSheet.CommandButton20.BackColor = &H80FF&
Else
ActiveSheet.CommandButton20.BackColor = &H8000000F
End If
UserForm3.Show
End Sub

Dans l'activation de la UserForm:
Private Sub UserForm_Activate()
If ActiveSheet.CommandButton20.BackColor = &H8000000F Then
CommandButton20.BackColor = &H80FF&
Else
CommandButton20.BackColor = &H8000000F
End If
End Sub

Je suppose que tu as un bouton qui s'appelle CommandButton20 dans ta feuille et un autre bouton qui s'appelle également CommandButton20 dans ta UserForm.

Je n'ai pas testé mais ai déjà utilisé ce type de code pour différents paramètres de boutons.

Bon courage à toi.

Yannick
 
Bonsoir à tous,

Merci de vous être penché sur mon problème; mais je doit preciser
cependant qu'il y a un bouton (CommandButton20) sur 2 UserForm
différentes.
Par ailleurs, le changement de couleur doit impérativement se faire
en cliquant le 1er CommandButton...
Je ne peux pas sortir de ce schéma.

En pratique, ce que je souhaite obtenir :

En cliquant un CommandButton présent sur UserForm1 (pour l'exemple)
il change lui-même de couleur mais change la couleur d'un autre
CommanButton présent lui sur UserForm2.
Jusque là, pas de soucis, sauf que si je ferme mon UserForm pour sortir
la couleur des 2 CommandButtons n'aura pas changée lors d'une prochaîne
ouverture du UserForm.

Comment alors enregistrer la modification de manière définitive?
Je m'emploi à chercher la solution, je ne serai pas surpris
qu'il s'agisse de quelque chose de simple à réaliser...

à +
 
bonjour David , Yannfran et JPM

la procedure ci dessous permet de modifier les propriétés d'un CommandButton , dans un userform .


ThisWorkbook.VBProject.VBComponents("UserForm3"). _
Designer.Controls("CommandButton20").BackColor = &H80FF&


Pour la modification du UserForm3 il n'y aura pas de soucis , par contre , je n'ai pas trouvé de solution pour que cela fonctionne dans le CommandButton d'un UserForm en cours d'affichage . Il faudra donc que tu adaptes tout ça pour ton projet

bonne soirée
michel
lapin4.gif
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
13
Affichages
1 K
Réponses
3
Affichages
1 K
Retour