Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Cherche un pro en VBA Excel


m2003

Messages recommandés

Voilà je cherche une macro qui me permette de remplacer le menu contextuel dans mes feuilles de classeur par un menu personnaliser. :P:-(:-P

Lien vers le commentaire
Partager sur d’autres sites

Salut El-Matador, j'ai une application Excel qui contient une dizaine de feuilles. Je voudrais remplacer le menu contextuel standard par un menu contextuel me permettant de me déplacer d'une feuille à l'autre: je précise que j'ai supprimé toutes les barres de menu par macro. Cependant j'ai laissé un bouton de retour à la feuille de menu, mais étant donné que ce bouton est situé au bas de chaque feuille excel il n'est pas pratique de retourner au menu principal lorsqu'on se trouve au milieu de la feuille (perte de temps vu qu'il y a 1000 lignes par feuille). :P:-(:-P

Modifié par m2003
Lien vers le commentaire
Partager sur d’autres sites

Salut, voilà après quelques tests et recherches, tu peux essayer la macro suivante

 

Sub CreationMenuContextuel()

 

' Macro créée par El-Matador @ 06/04

 

' Utilise le commandbars("Cells") pour le menu utilisé dans le tableau

With Application.CommandBars("Cell").Controls.Add(msoControlButton)

' Défini l'intitulé de la nouvelle fonction

.Caption = "Remonter en haut de page"

' Si BeginGroup = True, crée une ligne de séparation avant la fonction

.BeginGroup = False

' Lors de la sélection, renvoi vers la fonction spécifiée

.OnAction = "HautDePage"

End With

 

With Application.CommandBars("Cell").Controls.Add(msoControlButton)

.Caption = "Réinitialise le menu"

.BeginGroup = True

.OnAction = "EffaceMenuContextuel"

End With

End Sub

'Réinitialise le menu contextuel complètement

Sub EffaceMenuContextuel()

Application.CommandBars("Cell").Reset

End Sub

Sub HautDePage()

' Renvoi à la première cellule A1

ActiveSheet.Range("A1:A1").Activate

End Sub

 

Ceci est un exemple mais te donne déjà une première piste importante, à toi de l'adapter à tes besoins exactes. Merci de me tenir informé et en espérant avoir pu t'aider au mieux. N'hésite pas à me recontacter pour d'autres préoblèmes spécifiques

 

Mata :P

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...