Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction - Ajout d'aide

3 réponses
Avatar
Steph_D
Bonjour à tous,

Je cherche le moyen d'ajouter une "chtite" aide aux fonctions personnelles
que je crée. Elle apparaîtrait par exemple dans la boîte de dialogue
"Arguments de la fonction" de la fonction sous les arguments, à la place du
libellé "Pour obtenir de l'aide sur cette fonction et ses arguments,
consultez l'Aide".

Un grand merci d'avance
Steph_D

3 réponses

Avatar
Ange Ounis
Sur l'excellent site de Laurent Longre :

http://xcell05.free.fr/downloads/FunCustomize_Fr.zip

----------
Ange Ounis
----------

Bonjour à tous,

Je cherche le moyen d'ajouter une "chtite" aide aux fonctions personnelles
que je crée. Elle apparaîtrait par exemple dans la boîte de dialogue
"Arguments de la fonction" de la fonction sous les arguments, à la place du
libellé "Pour obtenir de l'aide sur cette fonction et ses arguments,
consultez l'Aide".

Un grand merci d'avance
Steph_D




Avatar
michdenis
Bonjour Steph_D,

Voici une procédure de Laurent Longre :

À toi de voir si cela répond à tes besoins.


Salutations!

*******************************************************
' ============================================ ' Dans un module standard (fonctions de test) :
' ============================================
Function HYPOTENUSE(Cote1 As Double, Cote2 As Double)
HYPOTENUSE = Sqr(Cote1 ^ 2 + Cote2 ^ 2)
End Function

Function MOYPOND(Valeurs, Coeffs) As Double
With Application
MOYPOND = .SumProduct(Valeurs, Coeffs) _
/ .SumIf(Valeurs, "<>", Coeffs)
End With
End Function

' ============================ ' Dans le module ThisWorkbook :
' ============================
Private Const NomCat As String = "Nouvelles fonctions"

Option Base 1

Private Sub Workbook_Open()

Dim I As Integer, LCat As Integer
Dim Cat As String
Dim NomFct, DescFct
Dim Addin As Boolean, FMasquée As Boolean

On Error GoTo Fin
Application.EnableCancelKey = xlErrorHandler

NomFct = Array("HYPOTENUSE", "MOYPOND")
DescFct = Array("Calcule la longueur de l'hypoténuse", _
"Calcule une moyenne pondérée")

Addin = Me.IsAddIn
If Addin Then
Application.ScreenUpdating = False
Me.IsAddIn = False
End If
FMasquée = Not Me.Windows(1).Visible
If FMasquée Then
Application.ScreenUpdating = False
Me.Windows(1).Visible = True
End If

LCat = 14
Do
LCat = LCat + 1
Application.ExecuteExcel4Macro _
"DEFINE.NAME(""Djzh" & LCat & """,0,2,,," & LCat & ")"
Cat = Names("Djzh" & LCat).Category
Loop While Cat <> "User Defined" And Cat <> NomCat

If Cat = "User Defined" Then _
Application.ExecuteExcel4Macro _
"DEFINE.NAME(""Djzh" & LCat & """,0,2,,,""" & NomCat & """)"

For I = 1 To UBound(NomFct)
Application.MacroOptions Macro:=NomFct(I), _
Description:ÞscFct(I), Category:=LCat
Next I

For I = 15 To LCat
Application.ExecuteExcel4Macro "DELETE.NAME(""Djzh" & I & """)"
Next I

Fin:
If Addin Then Me.IsAddIn = True
If FMasquée Then Me.Windows(1).Visible = False
ThisWorkbook.Saved = True

End Sub

' ============================
HYPOTENUSE et MOYPOND sont placées dans le nouveau groupe "Nouvelles
fonctions", automatiquement détruit à la fermeture du classeur. Pour
changer le nom de cette catégorie, les noms des fonctions à inclure et
leur description, il faut modifier respectivement le contenu des
constantes et variables NomCat, NomFct et DescFct.

Cette méthode fonctionne dans les macros complémentaires XLA et dans le
classeur Perso.xls sous Excel 97 et 2000 (avec les versions antérieures,
je ne sais pas). Elle ne marche pas bien quand l'Utilitaire d'Analyse
est chargé, à cause d'une anomalie (très énervante) dans la manière dont
cet utilitaire gère les catégories de fonctions.

Si ça t'intéresse, j'ai mis l'exemple ci-dessus dans une macro
Fonctions.xla à télécharger sur
http://longre.free.fr/downloads/Fonctions.zip. Cette macro doit être
chargée par Outils -> Macros complémentaires.
*******************************************************


"Steph_D" a écrit dans le message de news: ddv223$nv6$
Bonjour à tous,

Je cherche le moyen d'ajouter une "chtite" aide aux fonctions personnelles
que je crée. Elle apparaîtrait par exemple dans la boîte de dialogue
"Arguments de la fonction" de la fonction sous les arguments, à la place du
libellé "Pour obtenir de l'aide sur cette fonction et ses arguments,
consultez l'Aide".

Un grand merci d'avance
Steph_D
Avatar
Steph_D
Bonjour,

Merci à vous deux, c'est parfait comme toujours. J'ai pu, grâce à la ligne
suivante, rendre un peu moins austère, l'accès à mes fonctions
personnalisées.

Bonne journée
Steph D.

Application.MacroOptions Macro:="NbCouleur", Description:="Donne le nombre
de cellules de même couleur selectionnées." & Chr(13) & "Sont exclues les
cellules vides.", Category:="MesFonctions"