T
Thaloc
Guest
Bien le bonjour a tous, Grands dieux du VBA. Aujourd'hui on va tester vos connaissances. t1cable:
Voila ce que je veux faire :
dans un MODULE (pas de prog dans la feuille xls), je veux creer une boucle qui me fait 10 boutons. Ces dix boutons se placent sur une FEUILLE excel (pas un userform), les uns derriere les autres.
Ces boutons, ils sont bien jolis, mais pour le moment ils servent pas a grand chose. Donc je voudrais leur mettre un lien quand on clique dessus
Du coup je crée une fonction qui colorie une case de ma feuille.
Mais bon, comme je suis un vrai dieu de la prog, je voudrais bien, que, selon le bouton sur lequel on appuie, ca ne colorie pas de la meme couleur.
Attention, je veux faire ca de facon générique (c'est bien sur facile de coder en dur les actions différentes. Non moi je voudrais etre malin, et que ma fonction lancé au clic de bouton, ait des arguments, ou pas le meme lancement d'action.
Comment faire ? Apres 1 semaine de galere, je suis tout perdu et j'ai graneement besoin d'aide avant de tuer mon PC a coups de barreaux de chaises.
----------------------
Pour mieux comprendre, je met un bout de code de mon super programme (qui en vrai est bien plus compliquer, mais la c'est un exemple simple)
----------------------
Public s As Shape
Sub procédure()
For i = 2 to 11
'crée le bouton
Cells(i,2).Select
Set s = Worsheets(1).Shapes.AddFormControl(xlButtonControl, Selection.Left, Selection.Top, Selection.Width, Selection.Height)
s.textFrame.Charaters.Caption = "bouton " & i
s.OnAction = "Clic" '<== MON PROBLEME !
Next
End Sub
Function Clic()
'detecte le nom du bouton
'la je sais pas faire
'execute ces actions selon le bouton
ActiveCell.select
Selection.Interior.ColorIndex = 30 'ca c'est du rouge pas bo !
Cells(1,1).Value = s.Name
End Function
-------------------
Voila pour le code. Je reprécise bien qu'il s'agit de boutons créés dans un module.
En gros je voudrais faire un : OnAction = "Clic(nunméroBouton)"
Voila, si vous connaissez d'autres moyens de faire la meme chose, alors je suis preneur, et je ferais meme une danse de la victoire pour mon sauveur !
Amicalement a tous,
Thaloc
Voila ce que je veux faire :
dans un MODULE (pas de prog dans la feuille xls), je veux creer une boucle qui me fait 10 boutons. Ces dix boutons se placent sur une FEUILLE excel (pas un userform), les uns derriere les autres.
Ces boutons, ils sont bien jolis, mais pour le moment ils servent pas a grand chose. Donc je voudrais leur mettre un lien quand on clique dessus
Du coup je crée une fonction qui colorie une case de ma feuille.
Mais bon, comme je suis un vrai dieu de la prog, je voudrais bien, que, selon le bouton sur lequel on appuie, ca ne colorie pas de la meme couleur.
Attention, je veux faire ca de facon générique (c'est bien sur facile de coder en dur les actions différentes. Non moi je voudrais etre malin, et que ma fonction lancé au clic de bouton, ait des arguments, ou pas le meme lancement d'action.
Comment faire ? Apres 1 semaine de galere, je suis tout perdu et j'ai graneement besoin d'aide avant de tuer mon PC a coups de barreaux de chaises.
----------------------
Pour mieux comprendre, je met un bout de code de mon super programme (qui en vrai est bien plus compliquer, mais la c'est un exemple simple)
----------------------
Public s As Shape
Sub procédure()
For i = 2 to 11
'crée le bouton
Cells(i,2).Select
Set s = Worsheets(1).Shapes.AddFormControl(xlButtonControl, Selection.Left, Selection.Top, Selection.Width, Selection.Height)
s.textFrame.Charaters.Caption = "bouton " & i
s.OnAction = "Clic" '<== MON PROBLEME !
Next
End Sub
Function Clic()
'detecte le nom du bouton
'la je sais pas faire
'execute ces actions selon le bouton
ActiveCell.select
Selection.Interior.ColorIndex = 30 'ca c'est du rouge pas bo !
Cells(1,1).Value = s.Name
End Function
-------------------
Voila pour le code. Je reprécise bien qu'il s'agit de boutons créés dans un module.
En gros je voudrais faire un : OnAction = "Clic(nunméroBouton)"
Voila, si vous connaissez d'autres moyens de faire la meme chose, alors je suis preneur, et je ferais meme une danse de la victoire pour mon sauveur !
Amicalement a tous,
Thaloc