USF : enregistrer un Calcul simple d'un textbox

Chapelette

XLDnaute Nouveau
Bonjour le Forum

j'ai un fichier avec 2 feuilles: 1 feuille "addition" et 1 feuille "soustraction"
Chaque feuille est munie d 'un bouton qui appelle un USF.

Quel est le code qui permettrait lorsque on rentre les infos dans 2 les txt_box de l'USf , que
le résultat s'inscrive dans le 3e.

Quel est le code qui permettrait lors d'un clic sur le bouton "enregistrer", que le résultat se mette dans la feuille, avec un N° eof qui s'incrémente au fur et à mesure.

Quel est le code permettant d'afficher le 2e usf au dessus du 1er puis un bouton effacer?

merci pour votre aide

Chapelette
 

Pièces jointes

  • calculsimplev01.xlsm
    21.2 KB · Affichages: 64

Jack2

XLDnaute Occasionnel
Re : USF : enregistrer un Calcul simple d'un textbox

Bonne nuit Chapelette,

Ci-joint un exemple pour la soustraction, il suffit de recopier pour l'addition. Tu peux utiliser le point ou la virgule comme séparateur décimal.

Cliquer sur USF2 (feuille soustraire) et le lancement se fait par la procédure soustraire dans le module1. Le reste du code est dans l'USF Usf_Soustraire (voir les captures écran dans la feuille 3). Les TextBox1_Change et TextBox2_Change sont prévues pour ne rentrer que des nombres.

A+ Jack

PS je viens seulement de voir la suite de ta demande. Pour
Quel est le code qui permettrait lors d'un clic sur le bouton "enregistrer", que le résultat se mette dans la feuille, avec un N° eof qui s'incrémente au fur et à mesure.
. Si personne ne l'a déjà fait, je vois ça demain.

Par contre, je comprends mal ta dernière demande qui ne me semble pas réalisable (j'ai jamais vu et çà ne semble pas très pratique).
 

Pièces jointes

  • Chapelette.xls
    255 KB · Affichages: 57
Dernière édition:

Jack2

XLDnaute Occasionnel
Re : USF : enregistrer un Calcul simple d'un textbox

Bonjour Chapelette,

J'ai dû me lever tôt, les deux premiers points sont faits. Pour le troisième point, il est possible de mettre les USF l'un à côté de l'autre en les rendants "modales". Pour cela il faut une procédure de ce type
Code:
Sub Les_deux()
    Usf_Soustraire.Show 0
    USf_Addition.Show 0
End Sub
Le zéro devant show indique que l'USF est modale et peut être bougée. Le fichier est dans le post précédent.

A+ Jack 2
 

Chapelette

XLDnaute Nouveau
Re : USF : enregistrer un Calcul simple d'un textbox

Bonjour

merci pour vos réponses

Pour la question 1
Quel est le code qui permettrait lorsque on rentre les infos dans 2 les txt_box de l'USf , que
le résultat s'inscrive dans le 3e.
==> actuellement il faut cliquer, mais j'aime bien également (merci Jack2)
==> Le but serait qu'automatiquement sans cliquer le résultat s'affiche quand les 2 données sont inscrites ou modifiées (Merci laetitia90)

Pour la question 2
Quel est le code qui permettrait lors d'un clic sur le bouton "enregistrer", que le résultat se mette dans la feuille, avec un N° eof qui s'incrémente au fur et à mesure.
==> le bouton "enregistrer" permet de remplir la feuille précise.
==> ça c'est ok (Merci JAcl2, Laetitia90)


Pour la question 3 : voici plus précisément ma demande

Je charge l'usf1
en cliquant sur le bouton "usf2" placé sur l'usf1, l'usf 2 se charge au dessus de l'usf1 sans le fermer.
Puis je referme l'usf2 et je peux continuer l'usf1

ou inversement
Je charge l'usf2
en cliquant sur le "bouton usf1", l'usf1 se charge au dessus de l'usf2 sans le fermer.
Puis je referme l'usf1 et je peux continuer l'usf2


J'espère que cette explication est plus claire.
merci

Pourriez vous mettre des commentaire sur le code afin que je puisse comprendre ce qui est demandé en vba?

Cordialement

Chapelette
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : USF : enregistrer un Calcul simple d'un textbox

Bonjour à tous

Pourquoi passer par deux userforms?
Exemple avec un seul (en partant de la pj)
tusfaddsous.png
Ci-dessous le code pour cet unique userform
(attention deux CommandButton sont renommés)
PS: j'ai laissé les coquilles de l'exemple dans le code VBA;) -> soustraction Résultats)
Code:
Public flag As Boolean
Sub cbAddition_Click()
Dim dl&
With Sheets("addition")
dl = .Cells(Rows.Count, "a").End(xlUp).Row
TextBox3 = CDbl(TextBox1.Value) + CDbl(TextBox2.Value)
End With
flag = True
End Sub

Private Sub cbSoustraction_Click()
Dim dl&
With Sheets("soustration")
dl = .Cells(Rows.Count, "a").End(xlUp).Row
TextBox3 = CDbl(TextBox1.Value) - CDbl(TextBox2.Value)
End With
flag = False
End Sub

Private Sub CommandButton1_Click()
With Sheets(IIf(flag, "addition", "soustration"))
dl = .Cells(Rows.Count, "a").End(xlUp).Row
    .Cells(dl + 1, "a") = dl
    .Cells(dl + 1, "b") = TextBox1 * 1
    .Cells(dl + 1, "c") = TextBox2 * 1
    .Cells(dl + 1, "d") = TextBox3 * 1
End With
End Sub
 

Jack2

XLDnaute Occasionnel
Re : USF : enregistrer un Calcul simple d'un textbox

Bonjour le Fil,

Ca phosphore pendant que je dors ! J'aime bien la solution de laetitia90 pour les mêmes raisons que Chapelette. Mais je ne comprends pas le module de classe pour apporter des retouches (mettre des nombres décimaux, négatifs ou autres...). Il reste du travail en VBA... Par contre, la solution de Staple1600 le permet et évite de charger un USF sur l'autre. J'espère que Chapelette va trouver son bonheur.

A+ Jack2
 

Chapelette

XLDnaute Nouveau
Re : USF : enregistrer un Calcul simple d'un textbox

Bonjour

Merci pour vos productions.
Je ne sais pas où mettre les procédures de Staple1600 (je suis nul en code vba) et je comprends que l'on peut faire un 2 en 1.
C'est idéal parfois de réduire les manip et le code

Cependant j'aimerais connaitre la façon d'ouvrir un usf sur un autre et de pouvoir le fermer pour aussi utiliser le code dans un autre fichier (totalement différent dans l'utilisation :) ) que je vous mets en pièce jointe.

Cordialement

Chapelette
 

Pièces jointes

  • foot.xlsm
    20.5 KB · Affichages: 40

Jack2

XLDnaute Occasionnel
Re : USF : enregistrer un Calcul simple d'un textbox

Bonsoir le Fil, Bonsoir Chapelette,

Je peux te mettre le code de Staple1600 dans un c'est pas un problème. Pour avancer, comme je viens de le dire sur un autre fil https://www.excel-downloads.com/thr...re-a-un-autre-a-partir-de-liste-excel.214902/, il faut d'abord essayer de comprendre les codes qui te sont proposés voir ce qu'ils font. Il faut apprendre les bases du VBA (je peux te mettre des explications détaillées du code) et après on avance doucement.

Je te propose de procéder comme je viens de l'évoquer (ouvrir-fermer un USF...), ça répondra à ta question
pour aussi utiliser le code dans un autre fichier (totalement diffèrent dans l'utilisation )
.
A+ Jack2
 
Dernière édition:

Jack2

XLDnaute Occasionnel
Re : USF : enregistrer un Calcul simple d'un textbox

Bonsoir Chapelette, Bonsoir le fil,

pour faire suite au Post précédent, ci-joint un explicatif et des exemples dans Module2 et dans l'Userform Test.

A+ Jack2
 

Pièces jointes

  • Chapelette.zip
    577.7 KB · Affichages: 116

Jack2

XLDnaute Occasionnel
Re : USF : enregistrer un Calcul simple d'un textbox

Re Bonsoir,

Une petites modif dans le cas où l'on changerait des valeurs dans l'USF :
Code:
Function Resultat() As Boolean
Select Case Flag
Case True
    Valeur = Val(TextBox1.Value) + Val(TextBox2.Value)
Case False
    Valeur = Val(TextBox1.Value) - Val(TextBox2.Value)
End Select
Resultat = Valeur = Val(TextBox3.Value)
End Function

Private Sub CommandButton_Click()
Dim Dl As Long
With Sheets(IIf(Flag, "addition", "soustration"))
Dl = .Cells(Rows.Count, "A").End(xlUp).Row
    .Cells(Dl + 1, "A") = Dl
    .Cells(Dl + 1, "B") = Val(TextBox1) * 1
    .Cells(Dl + 1, "C") = Val(TextBox2) * 1
    If Resultat Then
        .Cells(Dl + 1, "D") = Val(TextBox3) * 1
    Else
        TextBox3 = Valeur
        If Flag Then
            .Cells(Dl + 1, "D") = Val(TextBox1) + Val(TextBox2)
        Else
            .Cells(Dl + 1, "D") = Val(TextBox1) - Val(TextBox2)
        End If
    End If
End With
End Sub
A+ Jack2
 

Discussions similaires

Réponses
15
Affichages
614

Statistiques des forums

Discussions
312 793
Messages
2 092 169
Membres
105 244
dernier inscrit
rafa