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

S

Schom

Guest
Bonjour à tous 🙂

J'ai un problème.....oui, je sais, comme beaucoup içi 😀

Voici le coupable :

Sub Bouton1_QuandClic()
Dim NomBouton As String
NomBouton = Application.Caller
Range(ActiveSheet.Buttons("Button " & Right(NomBouton, 2)).TopLeftCell.Address).Select
UserForm1.Show
End Sub

Fonction sensée m'appeler un UserForm tout en me sélectionnant la cellule sur laquelle est placé le bouton qui me l'a appelé (merci encore à tototiti2008 😀).

Sachant également que j'ai besoin d'en créé plusieurs (des boutons) et qu'ils doivent toujours appeler le même UserForm.

Au départ, la fonction Right était suivie de (NomBouton, 1). Ca m'a vite posé problème, lorsque le nom par défaut du NomBouton était "Bouton 10" puisqu'il ne retenait que le "0" du "10", le "2" du "12", etc.

Aprés m'être creusé les méninges, j'ai réussi à trouver la faille en changeant la fonction par :
Right(NomBouton, 2)

Mon projet ayant nécessité plusieurs créations de bouton, puis suppression, j'en suis au nom de bouton par défaut "Bouton 104".
Et là, je vous le donne dans le mille, il ne prend en compte que le "04".
Benoitement, je me suis dit : "Rebellote, m'en vais aller changer mon Right en :
Right(NomBouton, 3)

Et ben, pas de bol, il me fait un bug le saloupiot !

Quelqu'un aurait-il une soluce ?
 
Re : Fonction Right

bonjour,

a priori ce qui ne change pas dans le nom de ton bouton c'est "Bouton " soit 7 caractères, il faut donc pour retenir le dernier, les deux derniers ou les trois derniers caractères, préciser à la macro de retirer les 7 premiers caractères ce qui donne dans ton code :
Code:
Sub Bouton1_QuandClic()
Dim NomBouton As String
NomBouton = Application.Caller
Range(ActiveSheet.Buttons("Button " & Right(NomBouton, [B][COLOR="Red"]Len(Nombouton)- 7)[/COLOR][/B]).TopLeftCell.Address).Select
UserForm1.Show
End Sub
où Len est bien sur la fonction NBCAR
si un jour tu as un "bouton 2195746" il ne retiendra que 2195746

a+
 
Dernière édition:
Re : Fonction Right

Bonjour,

Tu parles sûrement de bouton de la barre d'outils formulaire. Si c'est le cas:
Code:
Sub Bouton1_QuandClic()
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Select
Userform1.show
End Sub

ActiveSheet.Buttons n'existe pas comme collection d'objets dans excel
A+
 
Re : Fonction Right

Alors là, les gars...... vous verriez ma gueule au moment où je découvre l'efficacité de vos méthodes....suis sur le cul !!

Sans rire, z'êtes vraiment bon, et puis rapide avec ça !

Mille fois merci...que dis-je ? si j'avais le temps, je vous en ferais dix milles 😉

Sujet clos pour moi 🙂
 
- 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.
Retour