Modification de la macro

bonjour , voila la macro

Private Sub ToggleButton1_Click()

If ToggleButton1 = True Then

ToggleButton1.Caption = "TTC"

ToggleButton1.BackColor = vbGreen

Sheets("Modèle").Range("E33") = Sheets("Base").Range("F25")

Else

ToggleButton1.Caption = "HT"

Sheets("Modèle").Range("E33") = Sheets("Base").Range("G25")

End If

End Sub

je voudrais sur ces deux lignes rajouter si E33 = F24 si supérieur a 0, si faux E33=F25, et la meme chose pour le HT

Bonjour,

pas tout compris!!

je voudrais sur ces deux lignes rajouter si E33 = F24 si supérieur a 0, si faux E33=F25, et la meme chose pour le HT

de quelles deux lignes parlez vous ?

Faut-il comprendre si E33>0 alors E33=F24 sinon E33=F25 ???

Bonjour ,

je parle des deux lignes

Sheets("Modèle").Range("E33") = Sheets("Base").Range("F25") ici je voudrais si F24>0 alors E33=F24

Sheets("Modèle").Range("E33") = Sheets("Base").Range("G25") ici je voudrais si G24>0 alors E33=G24

Bonjour abdermino, AlgoPlus, le forum,

A priori, essaie ainsi:

Private Sub ToggleButton1_Click()
 If ToggleButton1 = True Then
    ToggleButton1.Caption = "TTC"
    ToggleButton1.BackColor = vbGreen
    Sheets("Modèle").Range("E18") = Sheets("Base").Range("F9")
    Sheets("Modèle").Range("E19") = Sheets("Base").Range("F10")
    Sheets("Modèle").Range("E20") = Sheets("Base").Range("F8")
    Sheets("Modèle").Range("E24") = Sheets("Base").Range("F13")
    Sheets("Modèle").Range("E25") = Sheets("Base").Range("F14")
    Sheets("Modèle").Range("E26") = Sheets("Base").Range("F31")
    Sheets("Modèle").Range("E28") = Sheets("Base").Range("F15")
    Sheets("Modèle").Range("E30") = Sheets("Base").Range("F19")
    Sheets("Modèle").Range("E31") = Sheets("Base").Range("F22")
     If Sheets("Base").Range("F24") > 0 Then _
    Sheets("Modèle").Range("E33") = Sheets("Base").Range("F24")
 Else
    ToggleButton1.Caption = "HT"
    ToggleButton1.BackColor = vbRed
    Sheets("Modèle").Range("E18") = Sheets("Base").Range("G9")
    Sheets("Modèle").Range("E19") = Sheets("Base").Range("G10")
    Sheets("Modèle").Range("E20") = Sheets("Base").Range("G8")
    Sheets("Modèle").Range("E24") = Sheets("Base").Range("G13")
    Sheets("Modèle").Range("E25") = Sheets("Base").Range("G14")
    Sheets("Modèle").Range("E26") = Sheets("Base").Range("G31")
    Sheets("Modèle").Range("E28") = Sheets("Base").Range("G15")
    Sheets("Modèle").Range("E30") = Sheets("Base").Range("G19")
    Sheets("Modèle").Range("E31") = Sheets("Base").Range("G22")
     If Sheets("Base").Range("G24") > 0 Then _
    Sheets("Modèle").Range("E33") = Sheets("Base").Range("G24")
 End If
End Sub

Ceci dit, vérifie tes formules, car le résultat en F24 et G24 est négatif....donc <0.....

Peut-être souhaites-tu <>0 au lieu de >0 ?

Où alors:

Private Sub ToggleButton1_Click()
 If ToggleButton1 = True Then
    ToggleButton1.Caption = "TTC"
    ToggleButton1.BackColor = vbGreen
    Sheets("Modèle").Range("E18") = Sheets("Base").Range("F9")
    Sheets("Modèle").Range("E19") = Sheets("Base").Range("F10")
    Sheets("Modèle").Range("E20") = Sheets("Base").Range("F8")
    Sheets("Modèle").Range("E24") = Sheets("Base").Range("F13")
    Sheets("Modèle").Range("E25") = Sheets("Base").Range("F14")
    Sheets("Modèle").Range("E26") = Sheets("Base").Range("F31")
    Sheets("Modèle").Range("E28") = Sheets("Base").Range("F15")
    Sheets("Modèle").Range("E30") = Sheets("Base").Range("F19")
    Sheets("Modèle").Range("E31") = Sheets("Base").Range("F22")
     If Abs(Sheets("Base").Range("F24")) > 0 Then _
    Sheets("Modèle").Range("E33") = Abs(Sheets("Base").Range("F24"))
 Else
    ToggleButton1.Caption = "HT"
    ToggleButton1.BackColor = vbRed
    Sheets("Modèle").Range("E18") = Sheets("Base").Range("G9")
    Sheets("Modèle").Range("E19") = Sheets("Base").Range("G10")
    Sheets("Modèle").Range("E20") = Sheets("Base").Range("G8")
    Sheets("Modèle").Range("E24") = Sheets("Base").Range("G13")
    Sheets("Modèle").Range("E25") = Sheets("Base").Range("G14")
    Sheets("Modèle").Range("E26") = Sheets("Base").Range("G31")
    Sheets("Modèle").Range("E28") = Sheets("Base").Range("G15")
    Sheets("Modèle").Range("E30") = Sheets("Base").Range("G19")
    Sheets("Modèle").Range("E31") = Sheets("Base").Range("G22")
     If Abs(Sheets("Base").Range("G24")) > 0 Then _
    Sheets("Modèle").Range("E33") = Abs(Sheets("Base").Range("G24"))
 End If
End Sub

Je rejoins également AlgoPlus sur ce point : il faut impérativement que tu sois plus clair dans tes demandes, au risque de décourager les membres à te venir en aide.

Cordialement,

si j'ai bien compris (?)

remplacer

Sheets("Modèle").Range("E33") = Sheets("Base").Range("F25")

par

If Sheets("Base").Range("F24") > 0 Then
     Sheets("Modèle").Range("E33") = Sheets("Base").Range("F24")
Else
     Sheets("Modèle").Range("E33") = Sheets("Base").Range("F25")
End If

A adapter pour le Hors Taxe.

A+

Bonjour xorsankukai,

Merci beaucoup , mais je vous laisser

Sheets("Modèle").Range("E33") = Sheets("Base").Range("F25") si F24 = 0

Bonjour,

Voila j'ai regler mon probléme

Re,

Dans ce cas, AlgoPlus avait bien cerné ta demande et sa réponse devrait te convenir,

Private Sub ToggleButton1_Click()
 If ToggleButton1 = True Then
    ToggleButton1.Caption = "TTC"
    ToggleButton1.BackColor = vbGreen
    Sheets("Modèle").Range("E18") = Sheets("Base").Range("F9")
    Sheets("Modèle").Range("E19") = Sheets("Base").Range("F10")
    Sheets("Modèle").Range("E20") = Sheets("Base").Range("F8")
    Sheets("Modèle").Range("E24") = Sheets("Base").Range("F13")
    Sheets("Modèle").Range("E25") = Sheets("Base").Range("F14")
    Sheets("Modèle").Range("E26") = Sheets("Base").Range("F31")
    Sheets("Modèle").Range("E28") = Sheets("Base").Range("F15")
    Sheets("Modèle").Range("E30") = Sheets("Base").Range("F19")
    Sheets("Modèle").Range("E31") = Sheets("Base").Range("F22")
     If Sheets("Base").Range("F24") > 0 Then
    Sheets("Modèle").Range("E33") = Sheets("Base").Range("F24")
     Else
    Sheets("Modèle").Range("E33") = Sheets("Base").Range("F25")
     End If
 Else
    ToggleButton1.Caption = "HT"
    ToggleButton1.BackColor = vbRed
    Sheets("Modèle").Range("E18") = Sheets("Base").Range("G9")
    Sheets("Modèle").Range("E19") = Sheets("Base").Range("G10")
    Sheets("Modèle").Range("E20") = Sheets("Base").Range("G8")
    Sheets("Modèle").Range("E24") = Sheets("Base").Range("G13")
    Sheets("Modèle").Range("E25") = Sheets("Base").Range("G14")
    Sheets("Modèle").Range("E26") = Sheets("Base").Range("G31")
    Sheets("Modèle").Range("E28") = Sheets("Base").Range("G15")
    Sheets("Modèle").Range("E30") = Sheets("Base").Range("G19")
    Sheets("Modèle").Range("E31") = Sheets("Base").Range("G22")
     If Sheets("Base").Range("G24") > 0 Then
    Sheets("Modèle").Range("E33") = Sheets("Base").Range("G24")
     Else
    Sheets("Modèle").Range("E33") = Sheets("Base").Range("G25")
     End If
 End If
End Sub

Cordialement,

Re,

Bonjour,

Voila j'ai régler mon problème

Es-tu sûr ?

Tu ne veux donc plus afficher la valeur de F25 (où G25) si F24<0 (où G24<0) ?

 If Abs(Sheets("Base").Range("F24")) > 0 Then

Sauf erreur de ma part,

Tu utilises la valeur absolue de F24, donc que tu ais -8413,57 où +8413,57, tu ne tiens compte que de 8413,57 qui sera donc toujours supérieur à 0, donc tu n'afficheras jamais F25, est-ce bien cela que tu souhaites ?

https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/abs-function

Bonjour ,

Oui c'est exactement ça, mais dans le net à payer de modele j'ai 4 chiffres après la virgule moi je veux que 2 chifres aprés la virgule

Rechercher des sujets similaires à "modification macro"