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".
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".
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".
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
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
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
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
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" <steph_D@caramail.com> a écrit dans le message de news: ddv223$nv6$1@s1.news.oleane.net...
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".
******************************************************* ' ============================================ ' 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
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
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"
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"
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"