Opération arithmétique selon choix bouton option VBA

Bonjour,

voilà, j'ai un GRAND souci :

1/- comment selon le choix d'un bouton d'option on opère une division par ce choix ie pour le cas présent en PJ je veut calculer la mensualité : Mensulité (textbox) = Total Achat (textbox - OK-) / résultat optionbutton ( 6 , 12 ou 15 mois) .

2/- Date fin prélèvement = Date début prélèvement + résultat optionbutton ( 6 , 12 ou 15 mois) .

Grand merci d'avance

Bonsoir Abdel.me

1)+2)

Private Sub Six_mois_Click()
  On Error Resume Next
  Me.Menusalite.Value = CDec(Me.Total_Achat) / 6
  Me.Date_Fin_Prelev = DateSerial(Year(DateValue(Me.Date_Debut_Prelev)), Month(DateValue(Me.Date_Debut_Prelev)) + 6, Day(DateValue(Me.Date_Debut_Prelev)))
  On Error GoTo 0
End Sub

Private Sub Douze_mois_Click()
  On Error Resume Next
  Me.Menusalite.Value = CDec(Me.Total_Achat) / 12
  Me.Date_Fin_Prelev = DateSerial(Year(DateValue(Me.Date_Debut_Prelev)), Month(DateValue(Me.Date_Debut_Prelev)) + 12, Day(DateValue(Me.Date_Debut_Prelev)))
  On Error GoTo 0
End Sub

Private Sub Quinze_mois_Click()
  On Error Resume Next
  Me.Menusalite.Value = CDec(Me.Total_Achat) / 15
  Me.Date_Fin_Prelev = DateSerial(Year(DateValue(Me.Date_Debut_Prelev)), Month(DateValue(Me.Date_Debut_Prelev)) + 6, Day(DateValue(Me.Date_Debut_Prelev)))
  On Error GoTo 0
End Sub

A+

merci Bcp

donc à placer en dessous du bouton validation "enregistrer" et éliminer le frame?


Re

je viens de tester c'est parfait grand merci y t-il un moyen d'enregistrer le type d'échéance 6, 12 ou 15 mois sur la feuille "Data" (j'ai déjà prévue l'emplacement sur le fichier :

.Offset(RowCount, 42).Value = Mois

merci encore

Re,

A mettre tout simplement avec le code déjà existant de ton USF, ou tu veux, sans plus ni moins

2ème post, je ne comprends pas ta question, l'instruction fait bien ce que tu demandes !?

A+

Re

je viens de tester c'est PARFAIT Grand merci

y a t-il un moyen d'enregistrer le type d'échéance (6, 12 ou 15 mois) sur la feuille "Data" (j'ai déjà prévue l'emplacement :

.Offset(RowCount, 42).Value = Mois

merci encore

Re,

2ème post, je ne comprends pas ta question, l'instruction doit faire ce que tu demandes, non !?

A+

le Pb c'est que "Mois" n'existe plus (elle était dans le code du frame)

est ce que je peut récupérer le nombre de mois 6,12 ou 15, après validation à placer selon le code à la colonne "AQ"

merci


c'est bon où avais-je la tête???

désolé

encore grand merci


je viens de m'apercevoir que dans la restitution sur excel la mensualité s'affiche :

pour un total achat de : 170 698,25

une écheance de de 12 mois

la mensualité est de : 1,42248541666666E+28

une solution????

Re,

je viens de m'apercevoir que dans la restitution sur excel la mensualité s'affiche :

pour un total achat de : 170 698,25

une écheance de de 12 mois

la mensualité est de : 1,42248541666666E+28

Oui avec l'arrondi en VBA

Me.Menusalite.Value = Round(CDec(Me.Total_Achat) / 6, 2)

Même chose pour les autres mensualités

A+

je me suis servi de ce code pour le séparateur de milliers et 02 décimales

Private Sub Total_Achat_Change()

Total_Achat.Value = Format(Total_Achat.Value, "##,##0.00")

End Sub

le hic, il donne la bonne forme mais pas le bon format lors de la restitution sur excel

ya t-il un moyen pour y remédier??

merci

Re,

Le format est OK, mais il faut mettre l'instruction dans AfterUpdate et non Change

Private Sub Total_Achat_AfterUpdate()
  Total_Achat.Text = Format(Total_Achat.Text, "##,##0.00")
End Sub

A+

Bonjour,

merci je vais corriger et faire des tests

Bonsoir,

d'abord Grand merci à Bruno M45

j'ai corrigé le code comme convenu mais :

1/- il me met débogage et me revoi vers la ligne Me.Mensualite.Value = Round(CDec(Me.Total_Achat) / 6, 2)

2/- je choisi par excemple 6 mois je veut changer vers 12 ou 15 mois la date de fin prélèvement OK mais la division non.

3/- le format numérique dans ma feuille data tjrs pas au point

le Pb est en PJ (j'ai gardé le même sujet pour la continuité) Des tests aiderons à mieux comprendre

de l'aide SVP

merci

Bonsoir Abdel.me

j'ai corrigé le code comme convenu

Non, tu ne suis pas ce que l'on te dis !?

Tu n'as pas changé la sub Total_Achat_Change() par Total_Achat_AfterUpdate()

A+

Bsr,

je viens de le faire idem???

et la division est faite par le 1er click sur la durée 6 ou 12 ou 15

ex : ma 1ère intention était 6 mois, je veut changer pour 15 mois la date fin prélèvement OK pas la mensualité elle reste sur mon 1er choix qui était 6 mois

Re,

Ton problème se situe dans la sub

Private Sub Mensualite_Change()
Me.Mensualite.Value = Round(CDec(Me.Total_Achat) / 6, 2)
End Sub

Pourquoi existe t'elle !?

Donc a chaque modification vie le clique sur optionbutton, cette sub est lancée,

donc tu reviens au calcul sur 6 mois

A+

effectivement je viens de m'apercevoir, la raison de

Me.Menusalite.Value = Round(CDec(Me.Total_Achat) / 6, 2)

c'était par rapport à une à ton orientation pou r mon problème d'arrondi de restitution de la mensualité: sur la celle je retrouve un chiffre 2,83083333333333E+28 par exple

j'ai du mal transcrire???

Rechercher des sujets similaires à "operation arithmetique choix bouton option vba"