Comparer deux nombres en VBA

kolivier

XLDnaute Occasionnel
[Réglé] - Comparer deux nombres en VBA

Bonjour le Forum, et biensur bonjour tous les membres.

J'ai un souci ponctuel.

En fait dans ma macro, je saisie deux nombres et je sollicite le resultat entre ces deux nombres, or sous excel, j'ai trouvé la formule, mais en VBA je seche.

si
NB1.text vaut 500
NB2.text vaut -600

J'aurai souhaité que RES.text puisse afficher -1100

sauf que si il suffit de mettre comme formule NB1 + NB2 pour obtenir -1100, l'exemple suivant montrerait que une simple fonction d'addition ou de soustration ne suffirait pas car :

si
NB1.text vaut 500
NB2.text vaut 200

J'aurai souhaité que RES.text puisse afficher -300

et
si
NB1.text vaut 200
NB2.text vaut 500

J'aurai souhaité que RES.text puisse afficher +300



Le but étant de comparer le NB1 et le NB2 et de dire la différence qu'il y a entre les deux, a partir de NB1 en prioritaire.

Merci beaucoup de m'avoir lu

Bonne journée
 
Dernière édition:

kolivier

XLDnaute Occasionnel
Re : Comparer deux nombres en VBA

Oui tu as raison, pardon, je re-explique plus clairement et je modifie mon premier post...

Merci dèja de m'avoir lu.

Je vais tenter de l'expliquer litteralement

Imginons un exemple avec un compte bancaire (peut etre plus parlant)

Exemple 1 :
Une personne démarre avec un solde bancaire créditeur a 500€, elle termine le mois avec un solde debiteur de 300 (donc -300)
Elle a donc +500€ au début et -300€ a la fin.
Resultat elle a un différentiel de 800€, mais en perte (donc -800€ car le solde de début était plus fort que le solde de FIN )

Exemple 2 :
Une personne démarre avec un solde bancaire débiteur à 400€ (donc -400€), elle termine le mois avec un solde créditeur de 300 (donc +300)
Elle a donc -400€ au début et +300€ a la fin.
Resultat elle a un différentiel de 700€, mais en gain (donc +700€ car le solde de début était plus faible que le solde de FIN )

Exemple 3 :
Une personne démarre avec un solde bancaire débiteur à 200€ (donc -200€), elle termine le mois avec un solde débiteur de 300 (donc -300)
Elle a donc -200€ au début et -300€ a la fin.
Resultat elle a un différentiel de 100, mais en perte (donc -100€ car les deux sondes sont négatifs)

On en explique des choses en prenant pour exemple des soussous

Merci
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Comparer deux nombres en VBA

Re,

Ben justement avec tes exemples 2 et 3 ton raisonnement ne me parait pas bon...
Ainsi :
Une personne démarre avec un solde bancaire débiteur à 400€ (donc -400€), elle termine le mois avec un solde créditeur de 300 (donc +300)
Elle a donc -400€ au début et +300€ a la fin.
Résultat, elle a un différentiel de +700€ (différence entre -400 et +300) car +300-(-400)= + 700

Cordialement
 

tototiti2008

XLDnaute Barbatruc
Re : Comparer deux nombres en VBA

Bonjour à tous,

Pas sûr d'avoir tout compris à ta logique, mais voici une ligne de code qui colle avec tes exemples :
nb3.text=iif(cdbl(nb1.text)<0,cdbl(nb1.text)+cdbl(nb2.text),(-1)*cdbl(nb1.text)+cdbl(nb2.text))
pour être sûr que c'est bon, tu devrais nous donner un exemple où on commence créditeur et on finit créditeur plus haut, et un exemple où on commence débiteur et on finit débiteur plus bas... et d'autres cas si tu as des idées.
 

kolivier

XLDnaute Occasionnel
Re : Comparer deux nombres en VBA

Bonjour à tous,

Pas sûr d'avoir tout compris à ta logique, mais voici une ligne de code qui colle avec tes exemples :
nb3.text=iif(cdbl(nb1.text)<0,cdbl(nb1.text)+cdbl(nb2.text),(-1)*cdbl(nb1.text)+cdbl(nb2.text))
pour être sûr que c'est bon, tu devrais nous donner un exemple où on commence créditeur et on finit créditeur plus haut, et un exemple où on commence débiteur et on finit débiteur plus bas... et d'autres cas si tu as des idées.


Je vais tester cette formule, en attendant, voici deux exmples de créditeur :

Exemple 4 : solde début plus faible que solde de fin
Une personne démarre avec un solde bancaire crediteur à 200€ (donc +200€), elle termine le mois avec un solde créditeur de 300 (donc +300)
Elle a donc +200€ au début et +300€ a la fin.
Resultat elle a un différentiel de +100

Exemple 5 : solde début plus fort que solde de fin
Une personne démarre avec un solde bancaire crediteur à 600€ (donc +600€), elle termine le mois avec un solde créditeur de 300 (donc +300)
Elle a donc +600€ au début et +300€ a la fin.
Resultat elle a un différentiel de 300, mais en perte puisque le solde de début est plus fort que le solde de fin (donc -300)

merci
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Comparer deux nombres en VBA

Re,

Bon, j'ai vu tes modifs mais pour le cas 3, ça ne me parait toujours pas conforme...
Une personne démarre avec un solde bancaire débiteur à 200€ (donc -200€), elle termine le mois avec un solde débiteur de 300 (donc -300)
Elle a donc -200€ au début et -300€ a la fin.
Resultat elle a un différentiel de 500, mais en perte (donc -500€ car les deux sondes sont négatifs)
Le différentiel est :
-300-(-200) = -100 et non pas 500 ou -500 :confused:

Il s'agit ni plus ni moins que de faire une soustraction ou alors je n'ai rien compris:eek:

Mis à part ça, que sont NB1 et NB2 ?

Cordialement
 
Dernière édition:

kolivier

XLDnaute Occasionnel
Re : Comparer deux nombres en VBA

Oublie ma formule, si tu veux faire un différentiel juste :
nb3.text = cdbl(nb2.text)-cdbl(nb1.text)
il pourrait être utile de formater celà avec la fonction Format.


EUH, comment dire....................

C'est exactement ce qui me faut, et j'avais en plus testé ça auparavant, mais mes propres erreurs d'interpretation du resultat m'ont trompé a la base. m.... alors.

Milles fois merci tototiti2008, et merci egalement à Spitnolan08 pour sa contribution .

Désolés, je vais me coucher je crois.

Juste un petit conseil, au dela de 27H d'affilé sur VBA, allez vous coucher.

Trés bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 088 008
Membres
103 699
dernier inscrit
samSam31