OVH Cloud OVH Cloud

Formules personnalisées

4 réponses
Avatar
myname
Bonjour,

comment créer une "formule personnalisée" ?

Merci !

4 réponses

Avatar
JB
Bonjour,


On peut créer des FONCTIONS perso dans un module. Je ne sais pas si
c'est que tu cherches?

Exemple simple:

Function age(dateNaissance)
age = Year(Date) - Year(dateNaissance)
End Function

Dans le tableur: =age(A1) si A1 contient une date de naissance.

Cordialement JB
Avatar
myname
Oui, c'est bien ça !

Ca ne marchait pas chez moi car je la mettais dans "ThisWorkbook"
et pas dans un module...

Question complémentaire :

Comment utiliser dans mon module des fonctions Excel (SOMME, RECHERCHEV...)
?

Il me semble que cette fois ci, il faut passer par ThisWorkbook,
mais qu'il y a aussi une autre méthode avec des avantages
et des incovénients pour chaque...


"JB" a écrit dans le message de
news:
Bonjour,


On peut créer des FONCTIONS perso dans un module. Je ne sais pas si
c'est que tu cherches?

Exemple simple:

Function age(dateNaissance)
age = Year(Date) - Year(dateNaissance)
End Function

Dans le tableur: =age(A1) si A1 contient une date de naissance.

Cordialement JB
Avatar
JB
Pour utiliser une fonction tableur en VBA (peut importe l'endroit):

x=Application.CountA(Range("A1:A100") pour compter le nb de cellules
remplies dans le champ A1:A100. CountA correspond à NBVal()

autre méthode:

x = Evaluate("SUM(D1:D5)")
ou
y = [Sum(D1:D5)]

Pour connaitre le nom en anglais:

Function anglais(f)
anglais = f.Formula
End Function

Ecrire une formule en A1 par ex puis en B1: anglais(A1)

ou enregistrement auto et frapper =fonctionfrancais()

Pour Recherchev on obtient Vlookup

JB
Avatar
myname
On se rapproche, on se rapproche ;c)

Je sais qu'il y a un moyen similaire mais qui fonctionne avec les fonctions
en langue locale,
en recourant, il me semble, à ThisWorkbook.quelquechose...

Avis ?


"JB" a écrit dans le message de
news:
Pour utiliser une fonction tableur en VBA (peut importe l'endroit):

x=Application.CountA(Range("A1:A100") pour compter le nb de cellules
remplies dans le champ A1:A100. CountA correspond à NBVal()

autre méthode:

x = Evaluate("SUM(D1:D5)")
ou
y = [Sum(D1:D5)]

Pour connaitre le nom en anglais:

Function anglais(f)
anglais = f.Formula
End Function

Ecrire une formule en A1 par ex puis en B1: anglais(A1)

ou enregistrement auto et frapper =fonctionfrancais()

Pour Recherchev on obtient Vlookup

JB