associé un nom à un commanbbouton

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

nicroq

XLDnaute Occasionnel
Bonjour a tous,

voici mon probleme :
je souhaiterai savoir si il est possible d’écrire les noms des personnes de la feuille "nom des boutons" dans chacun des boutons de la première feuille?

en vous remerciant
 

Pièces jointes

Re : associé un nom à un commanbbouton

Bonsoir nicroq,

Tu peux insérer ces lignes de code dans la procédure Workbook_Open pour mettre à jour les boutons à l'ouverture du classeur:

Code:
Private Sub Workbook_Open()
With Feuil1
  .Commandbutton1.Caption = Feuil2.Range("B1")
  .CommandButton2.Caption = Feuil2.Range("B2")
  .CommandButton3.Caption = Feuil2.Range("B3")
  .CommandButton4.Caption = Feuil2.Range("B4")
  .CommandButton5.Caption = Feuil2.Range("B5")
  .CommandButton6.Caption = Feuil2.Range("B6")
End With
End Sub
Cordialement.
 
Re : associé un nom à un commanbbouton

RE:

Pour copier les noms dans une liste déroulante, il suffit de les extraire depuis la feuille 2 ("nom des boutons"). Reste à savoir où se situerait ta liste: sur ta feuille ou dans un formulaire? Et quel usage veux-tu faire de cette liste: choisir une option de la liste équivaudrait à cliquer sur le bouton correspondant?

A +

Cordialement.
 
Re : associé un nom à un commanbbouton

oui en effet je pense que vous avez bien cerné mon probleme :
j'aimerai dans la feuille 1 que lorsque je clique sur "olivier" par exemple, que le nom olivier s 'ajoute dans une zone déroulante toujours dans la feuille 1. j'aime ai vraiment avoir une zone déroulante interactive en fonction de quel bouton je clique.
 
Re : associé un nom à un commanbbouton

je vous joint un fichier plus concret: par exemple en cliquant sur "salade" j'aimerai que salade apparaisse dans la zone de liste deroulante. Le tout est d arriver a faire une liste deroulante temporaire correspondant a chaque clic.

en vous remerciant pour votre temps passé sur mon probleme!!!
 
Re : associé un nom à un commanbbouton

Bonsoir nicroq, le forum,

Dans ce fichier (3) la liste est classée dans l'ordre de survenance des clics.

Edit : si l'on veut que le dernier bouton cliqué soit en haut de la liste remplacer xlAscending par xlDescending.

Bonne journée.
 

Pièces jointes

Dernière édition:
Re : associé un nom à un commanbbouton

Re,

S'il y a beaucoup de boutons il faut utiliser un Module de classe avec ce code :

Code:
Public WithEvents CB As MSForms.CommandButton

Private Sub CB_Click()
Dim i&
With Feuil2 'CodeName
  i = Val(Replace(CB.Name, "CommandButton", ""))
  .Cells(i, 3) = Application.Max(.[C:C]) + 1 'n° d'ordre du clic
  .Columns("B:C").Copy .[D1]
  On Error Resume Next
  Intersect(.[D:E], .[E:E].SpecialCells(xlCellTypeBlanks).EntireRow).Delete xlUp
  With .[D:D].SpecialCells(xlCellTypeConstants)
    .Resize(, 2).Sort .Columns(2), xlAscending, Header:=xlNo 'tri sur le n° d'ordre
    .Name = "Liste"
  End With
End With
End Sub
J'ai aussi remplacé la macro RAZ par celle-ci, dans ThisWorkbook :

Code:
Sub Initialiser()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim o As Object, i&, n&
For Each o In Feuil1.OLEObjects
  If o.Name Like "CommandButton#*" Then
    i = Val(Replace(o.Name, "CommandButton", ""))
    o.Object.Caption = Feuil2.Cells(i, 2)
    ReDim Preserve CB(n)
    Set CB(n).CB = o.Object 'initialisation de la classe
    n = n + 1
  End If
Next
Feuil2.[C:E].Delete 'RAZ
End Sub
Tout est réinitialisé, y compris les Captions des CommandButtons.

Fichier (4).

A+
 

Pièces jointes

Re : associé un nom à un commanbbouton

MERCI MERCI beaucoup pour votre aide!!!! c est genial merci pour avoir passer du temps sur mon probleme!!

une derniere question : serait il possible de faire un bouton pour annuler la derniere ligne de la zone déroulante?

bonne soirée et bon dimanche
 
Re : associé un nom à un commanbbouton

Par contre en regardant mieux le fichier, je souhaiterai vraiment que lorsque l on clique chaque ligne apparaissent dans la zone deroulante (fichier essai N°1 envoyé hier a 21h41) afin de contenir dans une certaine zone!
cela serait il possible?

merci encore
bonne soirée
 
- 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

Réponses
3
Affichages
123
Réponses
10
Affichages
351
Réponses
4
Affichages
149
Réponses
3
Affichages
117
Réponses
5
Affichages
127
Retour