Formule si en vba [Résolu/Fermé]

Signaler
-
 TOUATIAHMED -
Bonjour *

c'est que j'ai 04 txtbox
1 (txtsommedebit) et
2 (txtsommecredit
ainsi que
3 (txtsoldedebit ) et
4 (txtsoldecredit)
la question est :
si txtsommedebit est supérieur à txtsommecrédit la différence doit etre inscrite au txtsoldedebit
et
si txtsommedebit est inférieur à txtsommecrédit la différence doit etre instcrite au txtsoldecredit

et j'ai essayé la formule suivante mais malheureusement à la pratique ç'a mal fonctionné

If Sommedebit > Somme credit Then
Soldecredit = Val(Sommedebit) - Val(Sommecredit)
Else : soldedebit = 0
End If
If Sommedebit < Somme credit Then
soldecredit = Val(Somme credit ) - Val(Sommedebit )
Else: solde credit = 0
End If

En excel ç’a fonctionne comme suit :
Dans la colonne C =SI(A1>B1 ;A1-B1 ;0)
Dans la colonne D =SI(B1>A1;B1-A1;0)

coordialement et merci d'avance

1 réponse

Messages postés
11471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 juillet 2020
655
bonjour, "ç'a mal fonctionné": message d'erreur?
exemple:
If Sommedebit > Somme credit Then 
    soldedebit = Val(Sommedebit) - Val(Sommecredit) 
    soldecredit = 0 
else
     soldecredit = Val(Somme credit ) - Val(Sommedebit ) 
     soldedebit  = 0 
End If 
Rebonjour
1° : ç'a mal fonctionné = a mal fonctionné
2° : merci de m'avoir orienté vers la solution exacte qui est la suivante :

If Val(sommedebit) > Val(sommecredit) Then
soldedebit = Val(sommedebit) - Val(sommecredit)
soldecredit = 0

ElseIf Val(sommedebit) < Val(sommecredit) Then
soldecredit = Val(sommecredit) - Val(sommedebit)
soldedebit = 0

ElseIf Val(sommecredit) = Val(sommedebit) Then
soldedebit = 0
soldecredit = 0

End If

Encors merci yg_be plus qu'il faut et coordialement.