simplifier un code Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'947
Appréciations reçues : 541
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 15 mars 2015, 09:26

Comment rendre ce code plus compact ?
Private Sub bouton_conges_Click()
Selection.Interior.Color = bouton_conges.BackColor
Selection.Value = "C"
Me.Hide
End Sub

Private Sub bouton_jf_Click()
Selection.Interior.Color = bouton_jf.BackColor
Selection.Value = "JF"
Me.Hide
End Sub

Private Sub bouton_pont_Click()
Selection.Interior.Color = bouton_pont.BackColor
Selection.Value = "P"
Me.Hide
End Sub

Private Sub bouton_recup_Click()
Selection.Interior.Color = bouton_recup.BackColor
Selection.Value = "R"
Me.Hide
End Sub

Private Sub bouton_RTT_Click()
Selection.Interior.Color = bouton_RTT.BackColor
Selection.Value = "RTT"
Me.Hide
End Sub
est-il possible d'identifier le bouton sur lequel on a cliqué ? cela me sauverait ...

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'429
Appréciations reçues : 292
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 15 mars 2015, 09:30

Salut Steelson :wink:

Si je comprends bien ta question ... tu devrais essayer Application.Caller
MsgBox ActiveSheet.Buttons(Application.Caller).Caption
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'947
Appréciations reçues : 541
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 15 mars 2015, 11:57

Merci James,

mes boutons sont dans un userform, cela ne fonctionne pas du coup
il faudrait donc que je les ramène dans la feuille principale

j'ai parcouru d'autres forums anglais et je ne suis pas le seul à me poser cette queston, la réponse est qu'il faille passer par un module
de classe

bon, je vais donc ramener les boutons dans la feuille, ce qui me fera en même temps la légende !
merciiiiiiiiii

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'429
Appréciations reçues : 292
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 15 mars 2015, 12:18

Re,

Effectivement, dans un UserForm, la solution élégante est un module de classe ...

Cela dit, tu pourrais essayer de retrouver ton bouton avec ...
Userform1.ActiveControl.Name
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'947
Appréciations reçues : 541
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 15 mars 2015, 13:32

Cela fonctionne bien avec une zone de texte :
MsgBox Application.Caller & " : " & Shapes(Application.Caller).TextFrame.Characters.Text & " : " & Shapes(Application.Caller).Fill.ForeColor.SchemeColor
je récupère donc le contenu et la couleur de fond !

super, merci de lm'avoir mis sur la route !

je viens de voir ta réponse ... je vais partir sur cette solution !
Userform1.ActiveControl.Name
voilà un sujet qui m'aura fait progresser grâce à tes conseils !

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'429
Appréciations reçues : 292
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 15 mars 2015, 13:42

Re,

Je ne sais pas vraiment sur quel programme tu travailles ... mais je suis content que cela te donne un petit coup de pouce ... :wink:

Bon Courage pour la suite ...
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'947
Appréciations reçues : 541
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 15 mars 2015, 14:01

cela me donne ceci
planning_absences_fixe.xlsm
(21.98 Kio) Téléchargé 10 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'429
Appréciations reçues : 292
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 15 mars 2015, 18:41

Re,

Merci pour ton fichier ... :wink:
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message