bonsoir à tous
Comment peut on executer apres selection de cellules une macro avec un click droit soit directement soit avec l'apparition d'une commande dans le menu contextuel.
Merci d'avance
bonsoir à tous
Comment peut on executer apres selection de cellules une macro avec un click droit soit directement soit avec l'apparition d'une commande dans le menu contextuel.
Merci d'avance
tiens voila un peu de code ...
un exemple d'utilisation, l'initialisation dans Workbook_open
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ' ' Rajout d'une entrée dans menu contextuel ' ' Function MenuCell(stCde As String, stMess As String) Dim mc As CommandBarControls Dim bo As CommandBarButton Set mc = CommandBars("Cell").Controls Set bo = mc.Add(msoControlButton, Temporary:=True) bo.Caption = stMess bo.OnAction = stCde End Function
La fonction RajoutePrefixe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Workbook_Open() MenuCell "RajoutePrefixe", "RajoutePrefixe" End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ' ' fonction exemple.. ' Sub RajoutePrefixe() Dim Pre As String Dim s as range, c As Object Pre = InputBox("prefixe") Set s = Selection For Each c In s c.Value = Pre & c.Value Next End Sub
merci bbil pour ton code
Je l'ai placé dans this workbook.
Mais j'ai une erreur lorsque je demarre le classeur "variable objet ou variable de bloc with non definie" dans la fonction menucell, sur la ligne :
J'ai certainement mal interpreté quelque chose, car pour le moment j'ai pas tout capté dans le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set mc = CommandBars("Cell").Controls
Mais bon si tu peux encore me donner un coup de pouce.*
dans ThisWorkbook .. il ne faut ne mettre que le Work...open....
le reste dans un module public ...
au passage c'est quoi ta version d'excel..?
Ma version d'excel c'est une version 2003
au cas ou le nom du menu ne serai pas Cell en version 2003 essai le code suivant pour lister les noms de "commandBar" dans la fenêtre exécution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub Test() Dim mc As CommandBar For Each mc In CommandBars Debug.Print mc.Name & " = " & mc.NameLocal Next End Sub
Partager