Créer une fonction excel

6

Bonjour, sur excel il y a de nombreuses fonctions disponibles dans les formules pour effectuer des calculs. Mais je me demande si il est possible de créer ses propres fonction par exemple en utilisant une macro VBA pour définir le traitement effectué par la fonction pour le calcul du résultat.

Est-il nécessaire de créer un plugin pour ça ? N'hésitez pas à me donner des conseils.

Posté le 12 juillet 2013, 23:55
par tortys
Répondre
5

Pas besoin de créer un plugin en VSTO pour ça, un simple module dans une macro suffit. Donc la première étape et de lancer l'éditeur visual basic soit en allant dans l'onglet développeur du ruban, soit en appuyant sur le raccourci Alt+F11.

Ensuite, dans l'éditeur de code VBA, il faut créer un module, parce que si on place le code dans une feuille de calcul ou dans le classeur ça ne fonctionne pas pour créer une fonction accessible dans les formules. Donc on va dans le menu Insertion > Module, ce qui va créer un module Module1.

Maintenant on ouvre le module, et dedans il ne reste plus qu'à écrire la fonction en respectant ces conventions :

  • Définir le type des paramètres d'entrée de la fonction (arguments)
  • Définir le type de variable retournée par la fonction
  • la valeur retournée par la fonction doit être affectée à une variable qui porte le même nom que la fonction, c'est cette valeur qui sera affichée dans les cellules utilisant cette fonction

Pour l'exemple, on peut créer une fonction fois2 qui retourne le double de son argument :

Function fois2(nombre As Integer) As Integer
    fois2 = nombre * 2
End Function

Créer une fonction excel

Posté le 13 juillet 2013, 00:09
par gatek

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :