Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule et cellule

10 réponses
Avatar
Sylvain P.
Bonjour,

J'ai une macro dans laquelle j'ai d=E9finie une cellule nomm=E9e Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 =3D "=3DROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+

10 réponses

Avatar
Michel Samoey
Bonjour Sylvain,
je ne suis pas un pro en VBA mais je crois que tu veux mettre une fonction
VBA là où la feuille Excel attend une de ses formules
je préconise de tester "manuellement" le contenu de la cellule auparavant
pour voir que "ROUND" n'est pas connu d'Excel et qu'il préfère alea(), de
même pour *.value qui lui est inconnu.
Une fois le code trouvé, le recopier derrière le ActiveCell.FormulaR1C1
et si je dis une bêtise , n'hésitez pas à me le notifier en rouge ;-)

Cordialement
Michel

"Sylvain P." a écrit dans le message de news:

Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+
Avatar
Sylvain P.
Merci Michel
Je ne veux pas mettre une fonction mais bien la formule =arrondi.
L'enregistreur de macro la traduit par ROUND.
D'autres idées ?
A+
Avatar
Ellimac
Bonjour,

Il faut séparer calcul et variable :
ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & Last & ",1)"

Camille

"Sylvain P." a écrit dans le message de news:

Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+
Avatar
Tatanka
Ne faudrait-il pas ajouter des crochets autour de Last ?

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & [Last] & ",1)"

Serge

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

Il faut séparer calcul et variable :
ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & Last & ",1)"

Camille

"Sylvain P." a écrit dans le message de news:

Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+




Avatar
bcar
tu y es presque :

Enlève juste le ".value".

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last,1)"

Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+


Avatar
Tatanka
Ouais, plus simple ainsi ;-)

Serge


"bcar" a écrit dans le message de news: fu7ne3$f16$
tu y es presque :

Enlève juste le ".value".

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last,1)"

Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+




Avatar
Sylvain P.
Merci à tous !!
Bonne journée,
Avatar
Michel Samoey
Bonjour,
oups! j'avais mal traduit

ARRONDI() est connu d'excel

VBA ne doit le traduire, il faut bien mettre toute la formule Excel entre
guillemets

Cordialement
Michel

"Sylvain P." a écrit dans le message de news:

Merci Michel
Je ne veux pas mettre une fonction mais bien la formule =arrondi.
L'enregistreur de macro la traduit par ROUND.
D'autres idées ?
A+
Avatar
Ellimac
Pas s'il s'agit d'une variable de la macro


"Tatanka" a écrit dans le message de news:

Ne faudrait-il pas ajouter des crochets autour de Last ?

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & [Last] & ",1)"

Serge

"Ellimac" a écrit dans le message de news:

Bonjour,

Il faut séparer calcul et variable :
ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & Last & ",1)"

Camille

"Sylvain P." a écrit dans le message de
news:
Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+









Avatar
Tatanka
J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
J'aurais du lire plus attentivement ;-)



"Ellimac" a écrit dans le message de news:
Pas s'il s'agit d'une variable de la macro


"Tatanka" a écrit dans le message de news:
Ne faudrait-il pas ajouter des crochets autour de Last ?

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & [Last] & ",1)"

Serge

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

Il faut séparer calcul et variable :
ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/" & Last & ",1)"

Camille

"Sylvain P." a écrit dans le message de news:

Bonjour,

J'ai une macro dans laquelle j'ai définie une cellule nommée Last.
Dans une autre cellule, je voudrai inscrire une formule qui comprend
la valeur de cette cellule Last.
Voici mon code, qui ne marche malheureusement pas :

ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*100/Last.value,1)"

Merci pour vos corrections !

A+