VBA - Fonctions personnalisées - afficher l'aide

O

olivier

Guest
Bonjours

Je viens de créer une fonction personnalisées et je voudrais que de l'aide s'affiche quand on ouvre la fenêtre d'insertion de fonction, du style détails à propos des paramètres à entrer. Y a t il moyen et comment?

merci d'avance
 
M

myDearFriend!

Guest
Bonsoir Olivier, le Forum.


Sauf erreur de ma part, faire afficher le détail des paramètres à entrer est impossible pour une fonction personnalisée. Il t'appartient donc de nommer les arguments attendus de façon explicite.

Par contre, il est tout à fait possible d'afficher la description que tu souhaites dans la zone prévue à cet effet dans la boîte de dialogue "Insérer une fonction".

La "Public Function" personnalisée étant ,bien sûr, saisie dans un module de code indépendant (c'est à dire autre qu'un module de feuille), il convient d'exécuter à chaque ouverture du classeur (ThisWorkbook, évènement Workbook_Open) la ligne de code suivante :

  Application.MacroOptions Macro:="NomDeLaFonction", Description:="DescriptionPerso"


Par ailleurs, tu as également la possibilité de faire apparaître ta fonction personnalisée dans une catégorie particulière (en lieu et place de la catégorie réservée aux fonctions personnalisées). Les catégories disponibles sont numérotées (0 pour Tous, 1 pour Finances, 2 pour Date et Heure, etc...) :

  Application.MacroOptions Macro:="NomDeLaFonction", Description:="DescriptionPerso", Category:=2

Dans cette exemple, la fonction personnalisée sera affectée à la catégorie 2, soit "Date et Heure".


Cordialement,
Didier_mDF

myDearFriend-3.gif
 

Kiriko

XLDnaute Occasionnel
Re : Re: VBA - Fonctions personnalisées - afficher l'aide

Bonjour !!
Je déterre ce très vieux post car je suis confronté au même soucis et je n'arrive pas à appliquer la solution proposée...
J'ai créé une fonction personnelle, enregistrée en xla, qui fonctionne très bien, mais pour afficher ma propre description, je bloque : soit je ne met pas la formule au bon endroit, soit j'ai un problème de syntaxe : le "&" et le "Macro:" me renvoient une "erreur de compilation".
Voici la fonction :
Function Enchiffre(Heure As String) As String
' Pour convertir 07:15 en 0715 par exemple

Enchiffre = Format((Int(Heure * 24) * 100) + ((((Heure * 24) * 100) - (Int(Heure * 24) * 100)) * 0.6), "0000")

End Function
Merci par avance, si quelqu'un repasse par là...
Cordialement,
 

JCGL

XLDnaute Barbatruc
Re : VBA - Fonctions personnalisées - afficher l'aide

Bonjour à tous,

Dans le ThisWorkBook et en _Open :

Code:
Option Explicit

Private Sub Workbook_Open()
Application.MacroOptions Macro:="Enchiffre", Description:="Modifie les valeurs 00:00 en 0000", Category:=2
End Sub

Te donnera ceci sur l'assistant :

03212011092253.png

A+ à tous
 

Pièces jointes

  • Fonction Heure.xls
    26 KB · Affichages: 320

Kiriko

XLDnaute Occasionnel
Re : VBA - Fonctions personnalisées - afficher l'aide

Merci beaucoup !!
Mais mon soucis, c'est que j'ai intégré ces fonctions dans un fichier .xla afin de pouvoir m'en servir dans tous mes classeurs (jusque là, ça fonctionne). Du coup, je n'arrive pas à intégrer la description, j'ai essayé dans le ThisWorkBook du xla, mais sans succès, sans doute dois-je mal m'y prendre....
Et en ouvrant ton fichier exemple joint, cela ne fonctionne pas non plus, sans doute à cause du xla justement??

Cordialement...
 

Davidc57

XLDnaute Occasionnel
Re : VBA - Fonctions personnalisées - afficher l'aide

Bonjour le forum,

Ce sujet m'a apporté une partie de la réponse que j'attendais à ma question similaire. Mais comme Kiriko, j'aimerai que cela fonctionne lorsque j'enregistre le classeur en xla.

Du coup je relance ce sujet.

Merci d'avance de votre aide,
David
 

Davidc57

XLDnaute Occasionnel
Re : VBA - Fonctions personnalisées - afficher l'aide

Après avoir fait d'autres essais sur d'autres PC --> CA MARCHE !

J'ai ensutie réessayer sur le mien et ca marche aussi ! Je ne sais pas ce qu'il s'est produit la première fois. peut-être une fermeture réouverture d'excel a résolu mon bug.

Cdlt,
David
 

Discussions similaires

Réponses
2
Affichages
424

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87