Fchris
XLDnaute Occasionnel
Bonjour à tous et mes meilleurs voeux à l'ensemble du forum.
Voilà, j'aimerais implémenter dans le menu contextuel standard qui apparaît lors du clic droit une commande de mise en forme personnalisée pour formater des colonnes de différents tableaux.
J'ai trouvé un code que j'ai adapté pour mon cas :
Je place ce code dans ThisWorkbook
et le code suivant :
Ce code que je place dans un module.
Mon problème est le suivant :
J'ai placé l'ensemble dans mon classeur de macros personnel afin d'avoir la commande dans n'importe quel tableau que je pourrais ouvrir. Le souci, c'est que cela ne fonctionne pas. Je n'arrive à le faire fonctionner que si je le place dans le tableau en question. Dès que je le mets dans mes macros personnelles, le menu n'apparaît plus.
D'autre part, à chaque fois que je fais un clic droit, une nouvelle ligne de menu apparaît dans le menu contextuel, le menu se multiplie à chaque clic et ne revient à la normale que si j'exécute la commande. Je pense que ma commande de reset du menu est mal placée, mais je ne vois pas où la mettre pour arranger ce problème.
Merci de votre aide à tous.
Fchris
Voilà, j'aimerais implémenter dans le menu contextuel standard qui apparaît lors du clic droit une commande de mise en forme personnalisée pour formater des colonnes de différents tableaux.
J'ai trouvé un code que j'ai adapté pour mon cas :
Code:
Private Sub Workbook_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Menu CONTEXTUEL
'avec le menu contextuel standard du clic droit ("cell")
With Application.CommandBars("cell")
'ajoute en première ligne (before) un menu contextuel (popup)
With .Controls.Add(msoControlButton, before:=1)
'intitulé (caption) comme suit
.Caption = "Mise en Forme Compta"
.OnAction = "Compta"
End With
End With
End Sub
Je place ce code dans ThisWorkbook
et le code suivant :
Code:
Sub Compta()
' Format_Compta
'
Dim Col As Long
Col = ActiveCell.Column
With Columns(Col).Select
Selection.NumberFormat = _
"_-* #,##0.00 _€_-;[Red]- #,##0.00 _€_-;_-* ""-""?? _€_-;_-@_-"
End With
Application.CommandBars("cell").Reset
End Sub
Ce code que je place dans un module.
Mon problème est le suivant :
J'ai placé l'ensemble dans mon classeur de macros personnel afin d'avoir la commande dans n'importe quel tableau que je pourrais ouvrir. Le souci, c'est que cela ne fonctionne pas. Je n'arrive à le faire fonctionner que si je le place dans le tableau en question. Dès que je le mets dans mes macros personnelles, le menu n'apparaît plus.
D'autre part, à chaque fois que je fais un clic droit, une nouvelle ligne de menu apparaît dans le menu contextuel, le menu se multiplie à chaque clic et ne revient à la normale que si j'exécute la commande. Je pense que ma commande de reset du menu est mal placée, mais je ne vois pas où la mettre pour arranger ce problème.
Merci de votre aide à tous.
Fchris