Excel- Comment afficher le nom d'un bouton

Résolu/Fermé
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 20 janv. 2010 à 21:44
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 27 janv. 2010 à 10:28
Bonjour,

Je voudrais savoir comment afficher le nom du bouton de commande sur lequel je clic ?
Je veux l'afficher en cellule A1 par exemple.

merci
A voir également:

25 réponses

Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
20 janv. 2010 à 22:16
Bonjour,
Clic droit sur le bouton et son nom apparait dans la fenêtre à gauche de la barre des formules.
5
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 714
20 janv. 2010 à 22:12
bonjour

Il faudrait préciser un peu :
- où est ton bouton ?
- comment l'as-tu créé ?
- quel logiciel ?
- quelle version ?
etc
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
20 janv. 2010 à 22:55
Ok merci Le Pingou.
En fait , quand je clic sur mon bouton de commande qui s'appelle "BAT A" j'affiche le nom écrit dessus par la formule:
Range("A1").Value = "BAT A"
Et je pense qu'il serait plus simple si j'avais une commande qui saurait déjà le nom écrit sur mon bouton de commande ainsi je n'aurais pas à recopier le nom écrit sur chaque bouton de commande dans chacune de mes formules d'affichage.

D'où ma question...

Car ensuite je voudrais qu'à chaque fois que je clic sur mon bouton de commande nommé "BAT A"
au prochain clic l'affichage soit "BAT A-1" au clic suivant "BAT A-2" ... qu'il s'incrémente ainsi tant que je clic dessus en ajoutant au nom "-x". x étant le nombre de fois que j'ai cliqué sur ce bouton.

Et ça ..je ne sais pas faire.

Merci de votre aide
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
20 janv. 2010 à 23:21
Bonsoir,
Vous pouvez utiliser cette petite procédure qui recherche les boutons et donnent leurs noms dans la variable[nom] ensuite a vous de traiter selon vos besoins.
Sub bouton()
a = Shapes.Count
For c = 1 To a
    nom = Shapes.Range(c).AlternativeText
Next
End Sub
--

Salutations.
Jean-Pierre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
21 janv. 2010 à 13:14
Bonjour Le Pingou,

J'ai inséré votre formule dans le code d'un bouton, en faite juste: Shapes.Range(c).AlternativeText
mais ce n'est pas accepté.

Private Sub CommandButton5_Click()
g = Range("A1").Value
cl = 12
indente = Range("C1").Value
cl = indente + cl
Cells(3, cl).Value = " "
nom = Shapes.Range(5).AlternativeText
Cells(lg, cl) = nom
Range("A1").Value = lg + 1
End Sub

J'ai fais ça parce que je n'ai pas besoin de lister ces boutons de commande mais, comme je l'ai écris avant, juste pour éviter d'écrire à chaque fois leur nom pour affichage.

Merci à vous tout de même.
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
21 janv. 2010 à 16:00
Bonjour,
Pour vous aidez je dois savoir le contenue des cellules [A1] et [C1] !
Deuxièmement êtes-vous certain que l'index de votre bouton de commande est le 5 !
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
21 janv. 2010 à 16:13
En fait j'en ai trop mis maintenant et ça complique, alors voila:

Private Sub CommandButton5_Click()
nom = Shapes.Range(5).AlternativeText
Cells(lg, cl) = nom
End Sub

Le reste c'était du positionnement, sans importance!

C'est quoi l'index du bouton? pour moi c'était le chiffre sur la ligne Private Sub Command..., non ?!
sinon, je sais pas!

Merci
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
21 janv. 2010 à 17:14
Bonjour,
C'est le numéro sous lequel le [CommandButton5] est enregistré par le système.
Et dans se cas se n'est pas le numéro 5.
Note: Si je demande : Pour vous aidez je dois savoir le contenue des cellules [A1] et [C1] !
Libre à vous d'y répondre !
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
21 janv. 2010 à 17:39
Excusez moi, je joins mon fichier ça sera plus simple:
https://www.cjoint.com/?bvrLZv38EX
Le code est appliqué au bouton"Salle 2"

Merci
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
22 janv. 2010 à 00:02
Bonjour,
Je ne suis pas certain d'avoir bien compris, à vous de voir :https://www.cjoint.com/?bwabTooA6a
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
22 janv. 2010 à 12:09
Bonjour,
Petit complément.
Pour récupérer le nom afficher du bouton de commande, faites comme suit :
Private Sub CommandButton2_Click()
nom = CommandButton2.Caption
MsgBox("Le nom du boutton est : " & nom )
End Sub
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
25 janv. 2010 à 11:30
Bonjour Le Pingou,

Merci pour le précédent message que j'avais pas encore lu. C'est ce que je voulais savoir! Merci.

Je vous sollicite de nouveau car j'essaie de comprendre une ligne de code que vous m'avez envoyez et je n'y arrive pas depuis 2 heures.


Private Sub cmdsalbata_Click()
Dim nb_sal As Byte
lg = Range("A1")
cl = 12 + Range("C1")

nb_sal = Range("salbata") <- QUE FAIT CETTE LIGNE SVP ? C'est quoi "salbata"?

' **** Cells(3, cl).Value = " " ' cette instruction efface le témoin de position = en ligne 3
Cells(lg, cl) = "SALLE " & nb_sal + 1
Range("salbata") = nb_sal + 1 <- QUE FAIT CETTE LIGNE SVP ? C'est quoi "salbata"?
Range("A1").Value = lg + 1
End Sub

J'ai essayé d'allonger ma liste de bouton de commande mais je n'arrive pas à changer le nom comme vous le faites. Ca reste: Private Sub commandbutton10_Click() même si je le change en Private Sub cmdSal3_Click()
VBA recrée un autre Private Sub commandbutton7_Click().

puis il me met erreur sur la ligne nb_sal3 = Range("sal3")

Je ne sais pas si je le fais bien?!

Merci de votre aide.
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
22 janv. 2010 à 12:19
Bonjour Le Pingou,

Vous m'avez compris! J'ai lutté hier soir pour avancer. Mais j'ai plus détruit ce que j'avais fais
qu' avancé. Ci-bien que j'ai passé plus de temps à essayer de retrouver ce que j'avais fait.
C'est pourquoi je vous remercie grandement pour votre expertise et patience.

' **** Cells(3, cl).Value = " " ' cette instruction efface le témoin de position "=" en ligne 3 coté agencement

sinon, pour les salles elles ne sont pas pour un bâtiment seulement donc pas de "salle bat A", j'avais simplifié (encore) les noms.
Dans chaque batiment , il peut y avoir une ou des salle(s) video, salle(s) labo, salle A, salle B...
mais je vais rectifier.

Je vais maintenant examiner le code programme et il m'intéresse, car il y a en plus ce que je voulais faire :
effacer l'agencement pour les autres configuration. c'est génial!

Je posterai une autre question plus tard, car j'ai besoin de décrire l'intérieur des salles mais dans un tableau,
donc il faudra que je reprenne les noms des salles.

En tout cas merci beaucoup!

A+
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
25 janv. 2010 à 12:03
Le Pingou,
je ne comprends pas non plus ces instructions pouvez-vous m' expliquer ces lignes SVP ?

' la plage des agencement colonne K dés ligne 4
covide = Range("IV3").End(xlToLeft).Column ? c'est quoi "IV3"?
Range(Cells(3, 12), Cells(3, covide)).ClearContents ?
Range(Cells(4, 11), Cells(Cells(1, 1), covide)).ClearContents ?
Cells(1, 1) = 4

Merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 714
25 janv. 2010 à 17:27
bonjour

covide = Range("IV3").End(xlToLeft).Column ? c'est quoi "IV3"?

"IV3" est la dernière cellule à droite de la ligne 3.
Cependant avec 2007/2010 il serait préférable de remplacer cette instruction par ceci qui fonctionne quelle que soit la version.
covide = Cells(3, Rows(3).Cells.Count).End(xlToLeft).Column


Range(Cells(3, 12), Cells(3, covide)).ClearContents ?
Range(Cells(4, 11), Cells(Cells(1, 1), covide)).ClearContents ?


Ceci efface les données de la plage.
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
25 janv. 2010 à 17:40
Bonjour,
Merci à gbinforme pour l'explication du poste 14.
La suite se trouve ici : https://www.cjoint.com/?bzrOyb4fWh
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
25 janv. 2010 à 17:40
Bonjour et merci!

Cependant, "covide" c'est quoi? une instruction ou une variable quelconque?
aussi, dans l'instruction End(x'?'Toleft) c'est bien un '1' qu'il y a entre le "x" et le "T..."?

En fait, "IV3" c'est la dernière cellule à droite de la "colonne" 3, non ?!

Pour finir, dans les 2 dernières instructions Range(Cells... qu'est ce qui défini la plage à effacer, justement?
je ne comprends pas ou est le début et la fin.

Sauriez-vous me l'indiquer SVP?

Merci
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
25 janv. 2010 à 18:19
Bonjour Le Pingou,

Je n'avais pas vu votre poste avant mon message. Merci à gbinforme j'ai élucidé le mistère.
Je regarde votre lien Le Pingou. Merci

A+
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
25 janv. 2010 à 19:01
Un grand merci à tous 2 pour vos explications! c'est plus clair pour moi.

Le Pingou, je n'ai pas trouvé le gestionnaire de nom dans le menu. Mais c'est pas grave.
Je suis passé par une cellule. (dire que depuis ce matin je cherchais et bloquais sur ça!)
J'ai ajouté un bouton et ça marche!

Il y a une fonction que vous m'avez transformé c'est l'effacement de la dernier pièce. vous l'avez transformé en effacement de l'agencement et c'est bien tant mieux. Alors je l'ai récréé mais je n'arrive pas à gérer le numéro salle que j'efface, car cela dépend de la salle que j'efface.

Pouvez-vous m'aider SVP? Merci .
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
25 janv. 2010 à 21:16
Bonjour,
Mettez le fichier sur https://www.cjoint.com/ et je vous donne une explication selon votre dossier!
Merci pour la version Excel que vous utilisez, j'ai oublié !
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
25 janv. 2010 à 22:06
Bonjour,
A titre de comparaison : je vous ai séparé votre original [Feuil2] de ma proposition [Le_Pingou] : https://www.cjoint.com/?bzwe5rZ8CN
0