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

Calcul d'évolution avec symbole

2 réponses
Avatar
Richard G.
Bonsoir =E0 tous,

Je dois toutes les semaines calculer des =E9volution sur des donn=E9es en
colonne du type :
45 58
15 18
14 14
11 15
45 32

Pour obtenir un tableau du type
45 58 +13
15 18 +3
14 14 =3D
11 15 +4
45 32 -13

J'ai d=E9velopp=E9 la macro suivante :

Sub Evolution()

' Macro pour calculer des =E9volutions

Dim Rng As Range
For Each Rng In Selection

ActiveCell.FormulaR1C1 =3D "=3DRC[-1]-RC[-2]"
If ActiveCell.Value > 0 Then Selection.NumberFormat =3D "+#"
If ActiveCell.Value =3D 0 Then Selection.NumberFormat =3D "=3D"
Selection.Font.Italic =3D True
With Selection
.HorizontalAlignment =3D xlCenter
End With

Next

End Sub

Deux probl=E8mes :
1) =E7a marche cellule par cellule mais pas sur une plage.
2) comme je passe par des format de cellule pour mettre les symboles +,
=3D et -, si je change un chiffre je peux me retrouver avec des
incoh=E9rences du type -+11 dans le cas o=F9 l'=E9volution change.

Est-ce que l'un ou plusieurs d'entre vous aurait une solution =E0
sugg=E9rer ?=20
Merci par avance.=20

A+

2 réponses

Avatar
Trirème
Bonsoir Richard
Essaye ce format personnalisé : Selection.NumberFormat = "+ 0;- 0;="
Sans faire de test sur le signe de tes données puisque le test est
"inclus" dans le format.

Cordialement
Trirème

Bonsoir à tous,

Je dois toutes les semaines calculer des évolution sur des données en
colonne du type :
45 58
15 18
14 14
11 15
45 32

Pour obtenir un tableau du type
45 58 +13
15 18 +3
14 14 > 11 15 +4
45 32 -13

J'ai développé la macro suivante :

Sub Evolution()

' Macro pour calculer des évolutions

Dim Rng As Range
For Each Rng In Selection

ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
If ActiveCell.Value > 0 Then Selection.NumberFormat = "+#"
If ActiveCell.Value = 0 Then Selection.NumberFormat = "="
Selection.Font.Italic = True
With Selection
.HorizontalAlignment = xlCenter
End With

Next

End Sub

Deux problèmes :
1) ça marche cellule par cellule mais pas sur une plage.
2) comme je passe par des format de cellule pour mettre les symboles +,
= et -, si je change un chiffre je peux me retrouver avec des
incohérences du type -+11 dans le cas où l'évolution change.

Est-ce que l'un ou plusieurs d'entre vous aurait une solution à
suggérer ?
Merci par avance.

A+



Avatar
Richard G.
Merci Trirème !
ça marche très bien !!