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

Macro Calcul de marge avec conditions

1 réponse
Avatar
Fabienne
Bonsoir,

Michel Gaboly m'a fourni la macro suivante le 8/01 que=20
j'ai l=E9g=E8rement modifi=E9. Dans cette macro, le calcul est=20
le suivant : J'ai un prix de revient aux 100 m=B2, et un=20
prix de vente dans une autre unit=E9 ( mm x m ). Soit je=20
rentre un prix de vente pour d=E9finir ma marge, soit je=20
rentre une marge en % et cela deduit mon prix de vente.=20
Cela fonctionne tr=E8s bien. Je souhaite aller plus loin :=20
j'ai un prix de revient qui peut =EAtre aux 100 m=B2 ou au=20
kilo et un prix de vente qui peut =EAtre dans plusieurs=20
unit=E9 =E9galement ( environ 10 ). Bref, comment monter des=20
conditions ? Si A2 ( prix de vente =3D 100 m=B2 et A3 ( prix=20
de vente =3D kilo alors...etc

Merci d'avance pour vos pistes.


Private Sub WORKSHEET_Change(ByVal Target As Excel.Range)
Application.EnableEvents =3D False
Select Case Target.Address(False, False)
Case "A2"
Target.Offset(1).Formula =3D "=3D((R[-1]C /=20
mm / m * 100000) - R[-2]C) / (R[-1]C / mm / m *=20
100000 )"
Target.Offset(1).NumberFormat =3D "0.00%"
Case "A3"
Target.Offset(-1).FormulaR1C1 =3D "=3D((R[-1]
C / 100000 * mm * m) / (1 - R[1]C))"
End Select
Application.EnableEvents =3D True
End Sub

1 réponse

Avatar
Kamel
Tu pourrais commencer par un truc de ce genre ... une simple boucle if apres
le select ...

Private Sub WORKSHEET_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Select Case Target.Address(False, False)
Case "A2"
Target.Offset(1).Formula = "=((R[-1]C /
mm / m * 100000) - R[-2]C) / (R[-1]C / mm / m *
100000 )"
Target.Offset(1).NumberFormat = "0.00%"
Case "A3"
Target.Offset(-1).FormulaR1C1 = "=((R[-1]
C / 100000 * mm * m) / (1 - R[1]C))"
End Select
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''
if range("A2") = "100" and range("A3") = "1"
then
....
End if
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''
Application.EnableEvents = True
End Sub



"Fabienne" a écrit dans le message de
news:006401c3dde0$543e55d0$
Bonsoir,

Michel Gaboly m'a fourni la macro suivante le 8/01 que
j'ai légèrement modifié. Dans cette macro, le calcul est
le suivant : J'ai un prix de revient aux 100 m², et un
prix de vente dans une autre unité ( mm x m ). Soit je
rentre un prix de vente pour définir ma marge, soit je
rentre une marge en % et cela deduit mon prix de vente.
Cela fonctionne très bien. Je souhaite aller plus loin :
j'ai un prix de revient qui peut être aux 100 m² ou au
kilo et un prix de vente qui peut être dans plusieurs
unité également ( environ 10 ). Bref, comment monter des
conditions ? Si A2 ( prix de vente = 100 m² et A3 ( prix
de vente = kilo alors...etc

Merci d'avance pour vos pistes.


Private Sub WORKSHEET_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Select Case Target.Address(False, False)
Case "A2"
Target.Offset(1).Formula = "=((R[-1]C /
mm / m * 100000) - R[-2]C) / (R[-1]C / mm / m *
100000 )"
Target.Offset(1).NumberFormat = "0.00%"
Case "A3"
Target.Offset(-1).FormulaR1C1 = "=((R[-1]
C / 100000 * mm * m) / (1 - R[1]C))"
End Select
Application.EnableEvents = True
End Sub