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
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