Utiliser une fonction d'Excel dans VBA

Magic_Doctor

XLDnaute Barbatruc
Bonsoir à tous,

Comment, dans une procédure VBA (macro), peut-on utiliser une des fonctions d'Excel que l'on utilise d'ordinaire dans la barre de formules ?
Prenons, par exemple, la fonction Romain (en français), Numero.Romano (en espagnol), j'imagine Roman en anglais.
Bref, je veux tout simplement utiliser cette fonction dans une macro, comme, par exemple :
[A1].value=Roman(i%).
Si i%=26, je dois avoir en A1 XXVI.
On m'a récemment dit qu'il fallait passer par "FormulaR1C1", mais cela n'a abouti qu'à un message d'erreur.

Merci pour m'aider à résoudre ce problème.

PS : je signale que, vivant en Uruguay, j'ai un programme en espagnol ; voilà la raison (très stupide !!!!!!!!!) pour laquelle les noms des fonctions sont différents de ceux de la version française, anglaise ou tchèque.
 

Banzai64

XLDnaute Accro
Re : Utiliser une fonction d'Excel dans VBA

Bonsoir

Cela aurait simple de rester sur le même fil

Je viens de tester ce que je t'avais marqué et cela fonctionne
Bien il faut initialiser la variable nbre

nbre=25
Range("F10").FormulaR1C1 = "=ROMAN(" & nbre & ")"
c'est égal aussi à
Range("F10").Formula = "=ROMAN(" & nbre & ")"

Pour cette version j'ai extrapolé ce que je tapais avec mon excel en français
en français cela donne
Range("F10").FormulaLocal = "=ROMAIN(" & nbre & ")"

j'en ai déduis qu'en espagnol
Range("F10").FormulaLocal = "=NUMERO.ROMANO(" & nbre & ")"

Edit: Pas sur mais il me semble qu'avec VBA tout les fonctions sont en anglais
 
Dernière édition:

lhaj6

XLDnaute Nouveau
Re : Utiliser une fonction d'Excel dans VBA

bonsoir cher pierrejean j'espère ne pas te déranger mon problème est le suivant:
j'ai déjà creer une fonction personnalisé dans excel qui une certaine procédure
là je cherche à creer une macro qui fait appele à cette fonction excel dite personnalisé sans à avoir re-écrire le code de cette dernière bref je veux appeler cette fonction personnaliser via une macro

est ce que ce bout de code est tjrs valable

cells(i,j).Value = Application.WorksheetFunction.Nom_fonction(parm1,param2)

un autre truc, lorsque je fais appel à cette fonction dans une cellule excel voilà cmt je procède
=Nomfonction(cellule1,cellule2)

merci d'avance
cordialement
 

Statistiques des forums

Discussions
312 761
Messages
2 091 797
Membres
105 074
dernier inscrit
JPATOUNE