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

angoul

XLDnaute Impliqué
bonjour,
j'ai trouver comment creer des boutons a partir d'une feuille excel

mais dans ma feuille j'ai 125 lignes donc 125 boutons a creer, jusque la pas de probleme. Le probleme c'est qu'il me creer mes boutons les l'uns sous les autres.

est ce qu'il est possible de faire en sorte qu'il me creer des colonnes de 20 boutons et qu'en suite il decale sur la droite pour mettre encore 20 boutons
jusqu'a la fin.

Voici mon code

Sub Macro1()
Dim i%, hauteur&
Dim ctl As Shape

hauteur = 0 'hauteur dans la page du premier bouton
'première boucle pour créer les boutons
For i = 3 To 22
With Sheets("Menu")
.Select
hauteur = hauteur + 22 'espace entre les boutons
ActiveSheet.OLEObjects.Add ClassType:="Forms.CommandButton.1", Left:=25, Top:=hauteur, Width:=110, Height:=20

End With
Next i

' seconde boucle, on boucle sur tous les boutons de la feuille Menu pour les renommer
i = 3 'correspond texte dans la feuille recap cat
For Each ctl In Sheets("Menu").Shapes
If Left(ctl.Name, 13) = "CommandButton" Then
ctl.Select
ctl.Name = Sheets("categorie").Cells(i, 1).Value
Selection.Object.Caption = Sheets("categorie").Cells(i, 1).Value
i = i + 1
End If
Next ctl
End Sub

merci d'avance
 
Re : aide sur macro

Bonsoir angoul, Bernard,

Pour répondre à la question d'angoul, voici comment modifier la première boucle :

Code:
Sub Macro1()
Dim i%, hauteur&
Dim ctl As Shape
'première boucle pour créer les boutons
gauche = 25
For c = 0 To 1
  hauteur = 0 'hauteur dans la page du premier bouton
  For i = 3 To 22
    With ActiveSheet
      .Select
      hauteur = hauteur + 22 'espace entre les boutons
      ActiveSheet.OLEObjects.Add ClassType:="Forms.CommandButton.1", Left:=gauche, Top:=hauteur, Width:=110, Height:=20
    End With
  Next i
  gauche = gauche + 150
Next c
' seconde boucle, on boucle sur tous les boutons de la feuille Menu pour les renommer
...
...

Quant à l'utilité de tant de boutons, seul angoul peut y répondre.

Espérant avoir été utile.

Cordialement.
 
Re : aide sur macro

Bonjour le forum,
Bonjour Papou-net, CBernardT, angoul

Je me suis amusé à décliner un code de Pierrot93. (à placer dans le module de code de la feuille concernée).

Code:
Private Sub CommandButton4_Click()
Dim i As Byte, c As OLEObject
'Supprimer_Bouton
For i = 1 To 20
    With ActiveSheet.Range("C" & 10 + i)
        Set c = ActiveSheet.OLEObjects.Add(ClassType:="Forms.commandbutton.1", Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
        'c.Name = "CheckBox_" & .Value & i
    End With
    With ActiveSheet.Range("D" & 10 + i)
        Set c = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Commandbutton.1", Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
        'c.Name = "ComboBox" & .Value & i
    End With
Next
End Sub

Le lien ci-dessous :

https://www.excel-downloads.com/threads/cretion-dynamique-bouton-vba.101212/

klin89
 
Dernière édition:
Re : aide sur macro

Merci a vous de vos reponse je test sa demain

Pour repondre a la question pourquoi tant de bouton
Il s'agit d'un projet de creation d'un logiciel de competition qui gere par categorie.
J'ai pour les feminines 60 categorie d'age et de poids
et pour les masculins 65 categorie d'age et de poids

voila pourquoi autant de bouton, en s'achant que chaque bouton est attaché a une feuille.
 
- 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
1
Affichages
1 K
Réponses
9
Affichages
1 K
Retour