Creer 3 cases d'option et les grouper automatiquement
Résolu
mod77
Messages postés
1320
Date d'inscription
Statut
Membre
Dernière intervention
-
mod77 Messages postés 1320 Date d'inscription Statut Membre Dernière intervention -
mod77 Messages postés 1320 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai essayé de créer 3 cases d'option et de les grouper via un enregistrement de macro. Cela a donné :
Ici on connait le numéro des cases d'option.
1) Mais comment je peux le faire sans connaitre leur numéro, svp? car je veux en créer automatiquement ET chaque groupe en dessous de l'autre.
2) Comment gérer les Left et Top à travers la macron svp?
merci
--
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
J'ai essayé de créer 3 cases d'option et de les grouper via un enregistrement de macro. Cela a donné :
Sub creeOption()
'
' creeOption Macro
'expression.Add(Left, Top, Width, Height)
ActiveSheet.OptionButtons.Add(800, 200, 0.7, 0.7).Select
ActiveSheet.OptionButtons.Add(850, 200, 0.7, 0.7).Select
ActiveSheet.OptionButtons.Add(900, 200, 0.7, 0.7).Select
ActiveSheet.Shapes.Range(Array("Option Button 705", "Option Button 706", _
"Option Button 707")).Select
Selection.ShapeRange.Group.Select
End Sub
Ici on connait le numéro des cases d'option.
1) Mais comment je peux le faire sans connaitre leur numéro, svp? car je veux en créer automatiquement ET chaque groupe en dessous de l'autre.
2) Comment gérer les Left et Top à travers la macron svp?
merci
--
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir,
tu peux faire ainsi :ActiveSheet.Shapes.Range(Array(ActiveSheet.OptionButtons.Add(800, 200, 0.7, 0.7).Index, _ ActiveSheet.OptionButtons.Add(850, 200, 0.7, 0.7).Index, _ ActiveSheet.OptionButtons.Add(900, 200, 0.7, 0.7).Index)).Group -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
suggestion:Option Explicit Sub test() Dim bouton(10) As OptionButton Set bouton(1) = ActiveSheet.OptionButtons.Add(800, 200, 0.7, 0.7) bouton(1).LinkedCell = "Q" & 12 Set bouton(2) = ActiveSheet.OptionButtons.Add(850, 200, 0.7, 0.7) bouton(2).LinkedCell = "Q" & 12 Set bouton(3) = ActiveSheet.OptionButtons.Add(900, 200, 0.7, 0.7) bouton(3).LinkedCell = "Q" & 12 ActiveSheet.Shapes.Range(Array(bouton(1).Index, _ bouton(2).Index, _ bouton(3).Index)).Group End Sub-
Merci yg_be, j'ai testé la liaison marche bien mais pas le groupement, voici mon code:
Set bouton(1) = ActiveSheet.OptionButtons.Add(Cells(i, "AA").Left, Cells(i, "AA").Top, 0.7, 0.7)
bouton(1).LinkedCell = "AD" & i
Set bouton(2) = ActiveSheet.OptionButtons.Add(Cells(i, "AB").Left, Cells(i, "AB").Top, 0.7, 0.7)
'bouton(2).LinkedCell = "AD" & i
Set bouton(3) = ActiveSheet.OptionButtons.Add(Cells(i, "AC").Left, Cells(i, "AC").Top, 0.7, 0.7)
'bouton(3).LinkedCell = "AD" & i
ActiveSheet.Shapes.Range(Array(bouton(1).Index, bouton(2).Index, bouton(3).Index)).Group
Alors je cherche encore -
-
-
-
-
-
Quelqu'un serait-il m'indiquer comment coller mes cases d'option groupées à ma zone de groupe svp?
mon code est:
'crée la zone de groupe
'expression.Add(Left, Top, Width, Height)
ActiveSheet.GroupBoxes.Add(Cells(i, "AA").Left, Cells(i, "AA").Top, 5.4, 0.8).Select
'crée les cases d'option
Set CaseOption(1) = ActiveSheet.OptionButtons.Add(Cells(i, "AA").Left, Cells(i, "AA").Top, 0.7, 0.7)
Set CaseOption(2) = ActiveSheet.OptionButtons.Add(Cells(i, "AB").Left, Cells(i, "AB").Top, 0.7, 0.7)
Set CaseOption(3) = ActiveSheet.OptionButtons.Add(Cells(i, "AC").Left, Cells(i, "AC").Top, 0.7, 0.7)
'Lie la case d'option à la cellule "Q"
CaseOption(1).LinkedCell = "AD" & i
'Groupement des Cases Option
ActiveSheet.Shapes.Range(Array(CaseOption(1).Index, CaseOption(2).Index, CaseOption(3).Index)).Group