Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Creation de formules par macro

S

Stt

Guest
Bonjour,

je désire affecter une formule dans une cellule par l'intermédiaire de macros mais je ne possède pas la correpondance entre les fonction EXCEL et macros (ex: "=SOMME()" equ "=SUM()" ou le séparateur ";" equ ",").
Existe-t-il une aide ou un tableau donnant cette equivalence) ?

Merci par avance

Stt
 
S

Stt

Guest
Bonjour Archi,

je me suis mal exprimé, c'est une fonction EXCEL que je veux définir. Par exemple :
ActiveCell.Formula = "=SUM(A1:B2)" marche alors que
ActiveCell.Formula = "=SOMME(A1:B2)" ne marche pas

Je recherche donc la correspondance entre les fonctiond EXCEL et VBA.

C'est peut-être plus clair maintenant.

A+

Stt
 
@

@+Thierry

Guest
Bonsoir Stt, Archi, le Forum

Deux astuces rapidos, je dois partir !

Essaie LocalFormula à la place de Formula...

Sinon enregistre une macro en saisissant ta formule sur la feuille, tu devrais l'avoir en anglais dans le code...

Il existe un fichier ou un line (?) sur un dictionnaire mais je l'ai pas sous la main maintenant...

Bon Courage
@+Thierry
 
C

Celeda

Guest
Bonjour,

Euh ...sur la pointe de mes petits pieds, Thierry, je sais que je suis pas l'experte en vba, mais si je peux m'introduire dans ce fil discrétement, ce serait pas plutot :.formulalocal ?
pour pouvoir se servir des termes en francais des formules ? Il me semble avoir vu trainer un truc dans ce style sur le forum:

[A1].formulalocal="=somme(A1:A100)"

mais sinon un autre truc, il y a dans AF 3 et SP 2, une petite macro fonction qui sert à faire la traduction d'une fonction française en anglais et comme vba parle anglais, cela pourrait aider à la compréhension de l'écriture du code directement en anglais dans vba....enfin moi je ce que j'en dis ..........


Celeda
 
@

@+Thierry

Guest
Bonsoir les amis et amie !

Désolé j'étais occupé pour Bernard ;-)

Méa Culpa Celeda !! tu as parfaitement raison !! Tu sais le Vendredi à 18:35 j'ai souvent plus Excel ouvert sous la main, alors je n'ai pas vérifié !!

Oui je confirme que j'ai dit une C... et je remercie Celeda pour sa vigilence

Donc oui c'est bien ceci (par exemple)
Sub LaFormulaLocal()
Sheets("Feuil1").Range("B1").FormulaLocal = "=RECHERCHEV(A1;Feuil2!A1:B23;2;0)"
End Sub


En prime et pour me faire pardonner voici un code tout simple pour Stt qui lui traduira les Formules en Anglais !

Sub TraducteurInstant()
MsgBox ActiveCell.Formula
End Sub


Et comme j'ai dit une grosse bétise, je vous offre aussi le moyen de récupérer cette traduction dans le PressePapier de Windows (ClipBoard) comme çà pas besoin de la taper !! (suffit de faire CTRL + V dans le module)

Sub TraductiondanslePressPapier()
'NB nécessite la référence à "Microsoft Form 2.0 Object Library"
With New DataObject
.SetText ActiveCell.Formula
.PutInClipboard
End With
End Sub


Voilà comme çà c'est réparé !
Bonne nuit
@+Thierry
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…