aide sur userform données dans variable

  • Initiateur de la discussion Initiateur de la discussion sri75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sri75

XLDnaute Occasionnel
bonjour, je réalise mon premier userform et je nage un peu dans la procédure.

J'ai une macro ir2009 qui calcule l'impot à payer à l'aide d'input box, je récupere deux données le revenu et le nombre de parts dans des variables et ensuite je détermine l'impot à payer que je stocke dans une troisième variable. cette maco fonctionne.

j'ai créé un useform pour y saisir mes deux premières données ( revenu et parts ) et faire apparaitre le résultat dans ma dernière case ( impot à payer ). Mais je ne comprends pas comment récuperer les données saisies dans ma macro et comment renvoyer le résultat dans mon userform.

Merci à tous pour votre aide et vos conseils , je joint mon fichier excel.
 

Pièces jointes

Re : aide sur userform données dans variable

Bonjour le fil, sri75

Dans Sub ir2009
Code:
revenu = CSng(calcul.TextBox1)
parts = CInt(calcul.TextBox2)
. . .
calcul.TextBox3 = CStr(impot)

Dans Private Sub CommandButton1_Click()
Code:
ir2009

A plus
 
Re : aide sur userform données dans variable

j'ai une erreur vba sur revenus, cela vient surement du fait que les valeurs renvoyées par les userform sont au format texte et que revenu est défini comme integer.

j'ai lu qu'il fallait adapter le code suivant revenu = CDbl(textebox1)
pour le changer en numérique mais j'avoue que c'est un peu trop pour moi, vous erait il possible de modifier mon code et de le renvoyer par le fil.

merci d'avance car je n'y arrive pas !
 
Re : aide sur userform données dans variable

Bonjour et merci pour l'aide, je joint mon fichier opérationnel, mais j'ai encore quelques questions histoire de peaufiner mon userform.

1) La variable parts peut être un nombre à virgule, si l'opérateur saisi 2,5 c'est ok mais s'il saisi 2.5 c'est l'erreur vba, je voudrais pouvoir gerer l'erreur.

2) Pour une question de sécurité je voudrais que l'pérateur ne puisse pas fermer le userform par la croix rouge ni cliquer dans la zone impot à payer.

3) Enfin la cerise sur le gateau, plutot que de cliquer sur le bouton CALCUL srait il possible que la macro se lance quand un nomdre est saisi dans revenu puis dans parts ?

Merci beaucoup et bonne journée
 

Pièces jointes

Re : aide sur userform données dans variable

Bonjour le fil, sri75

Quelques petites remarques, avant d'aller plus loin :

1 - Si tu déclares impot As Long => revenu ne peut être Integer
et quotient non plus, car quotient = revenu / parts et parts peut être = 1

2 - tu déclares (les "mêmes" variables locales et globales) variables, (...)
Tu n'est pas obligé d'avoir des variables globales ici.

3 - Dim fixe, coefx As Single
déclare un Single => Coefx et un Variant => fixe

Pour avoir deux Single sur une même ligne,
Soit : Dim fixe as Single, Cuefx As Single
Soit : Dim fixe!, Cuefx As Single

Bon courage
 
Re : aide sur userform données dans variable

j'y suis presque j'ai un problème de gestion d'erreur au cas où l'opérateur ne met rien dans la ligne parts ou revient dessus après une saisie valide et fait un retour chariot.

visiblement le fait de ne rien mettre dans la zone n'est pas un change ,et l'écraser non plus car là j'ai une erreur vba de division pâr zéro au sein de ma macro principale.

Merci de me donner ton avis sur la façon de procéder.


nb : ci joint la dernière mouture du fichier
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
33
Affichages
1 K
Réponses
3
Affichages
667
Retour