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

Formule "arrondi de" dans VBA

4 réponses
Avatar
azur75
Bonjour,
Comment faire pour écrire une macro qui ferait la formule "arrondi avec 0
chiffres après la virgule" sur une formule DEJA existante (ou sur un champ
avec des formules DEJA existantes) tout en gardant la formule d'origine. ex:
"=somme(a1:a5)" deviendrait "=arrondi(somme(a1:a5);0)" et pas seulement le
résultat.
J'ai essayé de faire ceci mais cela ne fonctionne pas :

Sub arrondi()
maFormule = ActiveCell.FormulaR1C1
ActiveCell.FormulaR1C1 = "=Round((maFormule), 0)"
End Sub

Merci bcp pour votre aide

4 réponses

Avatar
JpPradier
Bonsoir azur75

Sub arrondi()
maFormule = mid(ActiveCell.FormulaR1C1,2)
ActiveCell.FormulaR1C1 = "=Round((" & maFormule & "), 0)"
End Sub

j-p
Avatar
Hervé
Bonsoir,

Peut être ceci ?

Sub arrondi()
Dim Formule As String
Formule = ActiveCell.FormulaLocal
Formule = Replace(Formule, "=", "")
Formule = "=ARRONDI(" & Formule & ";0)"
ActiveCell.FormulaLocal = Formule
End Sub

Hervé.

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

Bonjour,
Comment faire pour écrire une macro qui ferait la formule "arrondi avec 0
chiffres après la virgule" sur une formule DEJA existante (ou sur un champ
avec des formules DEJA existantes) tout en gardant la formule d'origine.
ex:
"=somme(a1:a5)" deviendrait "=arrondi(somme(a1:a5);0)" et pas seulement le
résultat.
J'ai essayé de faire ceci mais cela ne fonctionne pas :

Sub arrondi()
maFormule = ActiveCell.FormulaR1C1
ActiveCell.FormulaR1C1 = "=Round((maFormule), 0)"
End Sub

Merci bcp pour votre aide


Avatar
azur75
Merci bcp Jp Pradier ta macro fonctionne super bien. Merci de tes
compétences-Jacques


Bonsoir azur75

Sub arrondi()
maFormule = mid(ActiveCell.FormulaR1C1,2)
ActiveCell.FormulaR1C1 = "=Round((" & maFormule & "), 0)"
End Sub

j-p



Avatar
azur75
Merci Hervé de ta réponse rapide - Jacques


Bonsoir,

Peut être ceci ?

Sub arrondi()
Dim Formule As String
Formule = ActiveCell.FormulaLocal
Formule = Replace(Formule, "=", "")
Formule = "=ARRONDI(" & Formule & ";0)"
ActiveCell.FormulaLocal = Formule
End Sub

Hervé.

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

Bonjour,
Comment faire pour écrire une macro qui ferait la formule "arrondi avec 0
chiffres après la virgule" sur une formule DEJA existante (ou sur un champ
avec des formules DEJA existantes) tout en gardant la formule d'origine.
ex:
"=somme(a1:a5)" deviendrait "=arrondi(somme(a1:a5);0)" et pas seulement le
résultat.
J'ai essayé de faire ceci mais cela ne fonctionne pas :

Sub arrondi()
maFormule = ActiveCell.FormulaR1C1
ActiveCell.FormulaR1C1 = "=Round((maFormule), 0)"
End Sub

Merci bcp pour votre aide