macro clic droit

R

Roby

Guest
bonjour à tous...
je reviens et j'essaye petit à petit de progresser dans excel , mais y a du boulôt !!! et c'est pas gagné..
voilà mon probleme: j'ai crée une macro pour mettre la 1ere lettre en majuscule, l'ai enregistrée en tant que macro complémentaire, mais je voudrais qu'elle s'exécute à partir d'un clic droit dans la (les) cellule(s) sélectionnée(s), en se rajoutant au menu déroulant du clic droit !!!
Je pense que ça doit pouvoir se faire, mais comment ??
Si tout le monde n'est pas en vacances, si les huitres huitres de Noël et le foie gras sont bien passés, si la St Syvestre ne vous accapare pas trop, y aurait quelqu'un pour m'aider? ça serait mon plus beau cadeau de Noël !!! (heu, presque!)
merci d'avance et bonnes fêtes à tous
 
J

jmps

Guest
Bonjour Roby, Bonjour le Forum,

Voici un modeste cadeau de Noël.

Dans le ThisWorkbook :

Private Sub Workbook_Deactivate()
  Application.CommandBars("cell").Reset
End Sub


Dans le code de ta feuille concernée :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
  Application.CommandBars("cell").Reset
  With Application.CommandBars("cell").Controls.Add(msoControlButton)
    .Caption = " Majuscule"
    .FaceId = 38
    .OnAction = "MajusculeInitiale"
  End With
End Sub


Dans un module :

Sub MajusculeInitiale()
  For Each c In Selection
&nbsp;&nbsp;&nbsp;&nbsp;If c.Value <> "" Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.Value = UCase(Left(c.Value, 1)) & Mid(c.Value, 2)
&nbsp;&nbsp;&nbsp;&nbsp;End If
&nbsp;&nbsp;Next c
End Sub


Tu peux enlever tes chaussons de sous le sapin ! Ho ho ho !

Bonne journée.

José
 
R

Roby

Guest
Tout d'abord un grand merci à JMPS mais j'ai encore un souci:
tout fonctionne sur un classeur mais dès que je le ferme, impossible d'avoir cette fonction en clic droit dans de nouveaux classeurs, j'ai essayé d'enregistrer ma feuille, puis comme modèle, mais rien .. que dois-je faire?
je sais.. j'suis pas doué..!!
merci d'avance et bon réveillon
 
Y

ya_v_ka

Guest
salut Roby, Jmps

malheureusement je ne viens pas à ton aide, mais pour remercier Jmps... en effet j'avais posé une question similaire il y a 2 semaines et l'on m'avait répondu que cela n'était pas possible.... sauf pour Jmps

merci pour la solution

et bonne chance pour ton apli Roby

Ya'v
 
J

jmps

Guest
Bonjour Roby, Salut Y-av !

Heureux d'avoir fait deux heureux pour le prix d'un. Je n'avais pas vu ta question Y_av...

Roby, si tu veux que ça fonctionne dans tous tes classeurs, il faut recopier la macro dans chacun d'eux. Ca c'est pour les existants. Pour tes futurs classeurs, ce que tu peux faire c'est créer un classeur vierge avec la macro dedans et t'en servir comme "modèle" que tu enregistreras-sous... en changeant le nom.
Autrement on peut peut-être en faire une macro complémentaire (XLA) mais je ne maîtrise pas encore assez. Peut-être que Didier_mDF s'il passe par ici pourrait t'aider. Il s'y connaît en XLA le bougre ! Télécharge PostHit et tu verras...

A l'occasion je me repencherai sur le problème. En attendant, si dans tes classeurs toutes les feuilles sont concernées tu peux au lieu d'utiliser
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
mettre le code dans
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
comme ça c'est valable pour toutes les feuilles.

Dis-moi si je suis pas clair, je t'enverrai un classeur vierge avec ce qu'il faut dedans.

Bon réveillon et A+ ou A l'année prochaine...

José
 
R

Roby

Guest
que dire sinon un grand MERCI
Tout marche, et enregistrer en tant que modèle aussi..
Reste à trouver l'astuce qui permet d'éviter l'alerte " activer macros " au démarrage sinon ok...
eh bien puisque qu'on est en 2004,991 il me reste quelques millièmes pour vous souhaiter un bon réveillon et plus si affinités..
à l'année prochaine
 
J

jmps

Guest
Bonjour Roby,

Avant tout, bonne année à tous le forumeurs et toutes les forumeuses d'XLD. Qu'elle vous apporte le bonheur et tout ce dont vous rêvez.

Pour ta question Roby, dans Outils/Macros/Sécurité, tu peux mettre un niveau de sécurité bas mais je ne te le conseille pas. En effet, Excel ne te préviendra plus quand tu ouvriras un classeur contenant une macro et il se peut, si ton classeur provient de quelqu'un que tu ne connais pas, que la macro en question contienne un virus.
Autrement tu peux signer ta macro mais je ne me rappelle plus comment. Regarde dans l'aide d'Excel ou mieux, fais une recherche sur le forum, on en a déjà parlé il me semble.

A+ et encore tous mes voeux.

José
 

Discussions similaires

Statistiques des forums

Discussions
312 971
Messages
2 094 045
Membres
105 926
dernier inscrit
Odyssea