Formule si en vba

Résolu/Fermé
TOUATIAHMED - 27 juil. 2018 à 22:12
 TOUATIAHMED - 28 juil. 2018 à 19:36
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

yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
Modifié le 28 juil. 2018 à 10:07
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 
0
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.
0