Equivalents de fonctions locales en VBA

  • Initiateur de la discussion Initiateur de la discussion Gisamark
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Gisamark

Guest
[RESOLU]

Bonjour à tous,

J'ai un fichier excel avec pleins de fonctions locales (entrées directement dans les cases).
Mais j'aimerais que l'application soit utilisable aussi bien en français qu'en anglais et donc traduire toutes ces fonctions en VBA.

Avez-vous un lien où l'on puisse trouver de telles équivalences ?

Mes formules : (qui sont donc rentrées directement dans des cases)
=SI(D14<20;SI(D14<10;D14;PLAFOND(D14;5));PLAFOND(D14;10))
=PLANCHER(D23;10)
=ENT(LOG(D23))
=ARRONDI(D23/10^D25/10;0)
=COS(RADIANS(G9-G17))

Voilà, j'aimerais rentrer ces formule par VBA en utilsant Range("XY").Value = ...

Merci beaucoup ! 🙂
 
Dernière modification par un modérateur:
Re : Equivalents de fonctions locales en VBA

J'ai réussi à trouver l'équivalent de ENT(nbre) en VBA, c'est INT(nbre).

Par contre le reste...
Notament la fonction SI(condition ; valeur si vraie ; valeur si faux) existe-t-elle en VBA ?

Merci. 🙂
 
Re : Equivalents de fonctions locales en VBA

Bonjour,

Pour information, dess formules saisies en Francais dans un Excel en Francais seront traduites et interpretées correctement dans un Excel Anglais.

Dans le dossier : C:\Program Files\Microsoft Office\Officexx\1036 tu trouveras également un fichier VBALIST.XLS qui contient les équivalences
Où xx = la version d'Office.

Un autre moyen est d'utiliser l'enregistreur de Macro.

Voilà, j'aimerais rentrer ces formule par VBA en utilsant Range("XY").Value = ...
Je n'ai pas bien compris ce que tu voulais faire :
Code:
ActiveCell.Formula = "=INT(LOG(" & Range("A2").Address(0, 0) & "))"
'ou
MsgBox Int(Log(Range("A2").Value))
'??
 
Dernière édition:
Re : Equivalents de fonctions locales en VBA

Merci de cette première réponse.

Pour information, dess formules saisies en Francais dans un Excel en Francais seront traduites et interpretées correctement dans un Excel Anglais.
Je ne voudrais pas mettre tes propos en doute, mais je préferais dans ce cas que quelqu'un qui a une version anglaise puisse tester pour me confirmer.
J'ai une version FR.

C'est pour une entreprise, et les clients auront des version FR ou EN.

Je n'ai pas bien compris ce que tu voulais faire :
Citation:
Voilà, j'aimerais rentrer ces formule par VBA en utilsant Range("XY").Value = ...
En fait, au lieu d'écrire directement dans une case =ENT(D2), je voudrais écrire dans visual basic editor Range("la case en question").Value = Int ("D2")
 
Dernière modification par un modérateur:
Re : Equivalents de fonctions locales en VBA

Re,

C'est garanti. quelqu'un va sans doute faire le test sur le Forum.
Régulierement on voit sur le forum des questions qui sont posées en anglais et en ouvrant le fichier les fontion sont traduites.

Les seules restrictions sont :
- Si tu écrit des arguments entre guillemets, ils ne seront pas traduits et là ça ne fontionnera pas.
Par exemple =TEXTE(A3,"jj/mm/aaaa") va se traduire par =TEXT(A3,"jj/mm/aaaa") alors qu'en version anglaise, c'est =TEXT(A3,"dd/mm/yyyy") qui fontionnera.
- Et eventuellement l'utilisation de fontions macros complementaires (mais ça c'est à confirmer)
 
Dernière édition:
Re : Equivalents de fonctions locales en VBA

Re,

Il faut ecrire :
Range("la case en question").Value = Int (Range("D2"))

Si tu dois creer un feuille Excel qui doit fontionner en EN/FR, le mieux est quand meme de la tester (faire tester) un fois en dans chaque langue pour voir à quoi ça ressemble ...
 
Re : Equivalents de fonctions locales en VBA

Bonjour à tous
La procédure
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim cel As Range
   For Each cel In Selection.Cells
      If cel.Formula <> "" Then MsgBox cel.Address & " " & cel.Formula
   Next cel
End Sub[/B][/COLOR]
affiche successivement les formules en Anglais (si l'on peut dire ainsi sans offenser nos amis réellement anglophones) des cellules sélectionnées.
Mais, aux réserves émises par Catrice près, je vois pas vraiment l'intérêt de traduire les formules.​
ROGER2327
#2163
 
Re : Equivalents de fonctions locales en VBA

Merci.

J'ai essayé de rentrer cette ligne dans VBE, et le code plante :
Worksheets("Fantôme").Range("E5").FormulaLocal = "=if(E4<20,if(E4<10,E4,CEILING(E4,5)),CEILING(E4,10))"

J'ai aussi essayé en remplaçant .FormulaLocal par .Value mais ça ne fonctionne pas non plus.

Il y a donc quelque chose que j'ai mal fait ou que je n'ai pas comprise.
(j'ai remplacer les "si" par des "if" et les ; par des ,)

Quelqu'un a une idée ?
 
Re : Equivalents de fonctions locales en VBA

Bonjour à tous

Sinon à tester:

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2009 par MJ
'
'
ActiveCell.FormulaR1C1 = _
"=IF(R[13]C[3]<20,IF(R[13]C[3]<10,R[13]C[3],CEILING(R[13]C[3],5)),CEILING(R[13]C[3],10))"
Range("A2").Select
ActiveCell.FormulaR1C1 = "=FLOOR(R[21]C[3],10)"
Range("A3").Select
ActiveCell.FormulaR1C1 = "=INT(LOG(R[20]C[3]))"
Range("A4").Select
ActiveCell.FormulaR1C1 = "=ROUND(R[19]C[3]/10^R[21]C[3]/10,0)"
Range("A5").Select
ActiveCell.FormulaR1C1 = "=COS(RADIANS(R[4]C[6]-R[12]C[6]))"
Range("A6").Select
End Sub
 
Re : Equivalents de fonctions locales en VBA

Bonjour
Je ne voudrais pas mettre tes propos en doute

Ce que tu fais néanmoins...

Je confirme : j'ai FR à la maison, US au boulot et c'est transparent sauf si on utilise les fonctions de l'utilitaire d'analyse (cas assez limités).

J'ai développé une appli qui tourne dans tous les pays du monde sans souci et je l'ai faite en version FR.

Ce sera donc totalement contreproductif de réécrire en VBA ce qui se fait nativement dans Excel d'autant que selon le niveau de sécurité, les macros seront peut-être désactivées.
De plus tu va rencontrer d'autres problèmes liés aux paramètres qu'Excel récupère dans les paramètres régionaux de Windows.

Enfin nombre de fonctions Excel ne sont pas utilisables via VBA, n'ont pas d'équivalent VBA et nécessitent une réécriture.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour