Excel : fonction personnalisée tjrs présente [Résolu/Fermé]

Signaler
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
-
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
-
Salut,

je sais qu'on peut créer une fonction et l'ajouter en tant que fonction personnalisée dans la liste des fonctions.
mais est-il possible d'avoir cette fonction disponible à partir de n'importe quel classeur?
j'ai déjà essayé de mettre "Public" devant Function dans le code VBA mais ça ne marche pas.

merci pour votre aide.

6 réponses

Messages postés
2539
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
521
Bonjour,

Il faut créer un fichier xla contenant la macro et le mettre dans le dossier Macros complémentaires.
Si tu souhaites un exemple, http://gerard.g.pagesperso-orange.fr/logexl_05.htm#Numero_couleur_cellule

Bonne journée.
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
579
Salut,

je vois juste au-dessus dans le lien donné, tu parles de calculer la racine n-ième d'un nombre.
le hasard fait bien les choses car c'est justement la fonction que je voulais créer! ^^

tu peux m'aider pour la faire stp.
voilà le code que j'ai écrit :
Public Function RacineNieme(Nombre, Racine)

Option Explicit
Dim Nombre As Double
Dim Racine As Double
RacineNieme = Nombre ^ (1 / Racine)

End Function


comment définir Nombre comme un Double positif?
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
579
Up!
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
579
est-ce que pour définir Nombre comme un réel positif ou nul, je dois mettre un If?

j'aimerais aussi créer la fonction Multiple(n,m) qui renvoie VRAI si les entiers positifs n et m sont multiples et FAUX dans le cas contraire.
je pourrais avoir un peu d'aide là-dessus aussi?!

merci pour votre aide.
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
579
j'ai trouvé pour la fonction racinenieme.
il suffit de mettre :
Public Function RacineNieme(Nombre, Racine)

RacineNieme = Nombre ^ (1 / Racine)

End Function


et Excel se charge de tout en fait!

je vais voir si je trouve pour la fonction multiple.
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
579
re,

je suis arrivé à quelque chose mais c'est pas comme ça que j'aimerais que la fonction marche.
voilà le prog :
Public Function Multiple(n, m)

If Int(n) = n And Int(m) = m And n > 0 And m > 0 Then
a = n / m
b = m / n
If Int(a) = a Or Int(b) = b Then
MsgBox "VRAI"
Else: MsgBox "FAUX"
End If
Else: MsgBox "Les nombres " & n & " et " & m & _
" doivent être des entiers naturels non nuls."
End If

End Function


comment faire pour que VRAI et FAUX s'affichent dans la case, comme une vraie fonction?
parce que là ça affiche une MsgBox et ça met 0 dans la case.

comment faire pour qu'après avoir affiché la fenêtre "Les nombres n et ...", la formule soit sélectionnée pour pouvoir être modifiée? comme quand on fait une erreur avec une fonction "normale" d'Excel. parce que pour le moment, une fois la fenêtre affichée, Excel affiche un 0 dans la case et sélectionne la case en-dessous.


autres questions d'ordre plus général sur les fonctions personnalisées :
- les 2 fonctions apparaissent bien dans les fonctions personnalisées, mais lorsque je tape le début du nom de la fonction dans la barre de calcul, Excel ne me les propose pas comme suggestion!
- comment faire pour entrer un descriptif de ces fonctions qui apparaitrait dans la fenêtre "Insertion d'une fonction" et sous forme d'info-bulle dans la barre de calcul?

merci pour votre aide.
Messages postés
2681
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
579
bon j'ai abandonné l'idée finalement.
je me suis débrouillé autrement.

merci quand même pour votre aide.
ciao