Addition la valeur de 3 textbox en vba

  • Initiateur de la discussion Initiateur de la discussion ultra_v
  • 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 !

ultra_v

XLDnaute Occasionnel
bonjour ,

j'ai essayé plusieurs code source pour additionner 3 textbox et ça marche le problème c'est au moment ou je change la valeur de textbox1 le résultat ne change pas


textbox4 = txt1+txt2-txt3

comment convertir ça en VBA ?

la valeur de txtbox4 doit étre modifié automatiquement si l'utilisateur change de valeur sur txt1 jsk txt3

Merci d'avance
 
Re : Addition la valeur de 3 textbox en vba

Bonjour
Tout ce qu'on entre dans un textbox en ressort sous forme de TEXTE, même si en apparence c'est un nombre.
Il faut donc convertir (transtyper). Suivant que tes nombres sont des Integers, Longs, Double, des valeurs monétaires... tu utilises CInt, Clng, Cdbl, CCur
Textbox4=Cint(txt1)+Cint(txt2)-Cint(txt3)
attention, ce qui sort du textbox 4 sera AUSSI à convertir au moment de mettre son contenu dans la feuille.
 
Re : Addition la valeur de 3 textbox en vba

Bonjour le fil, bonjour le forum,

En pièce jointe un exemple. Plutôt que d'écrire le même code autant de fois qu'il y a des textboxes numériques, j'ai utilisé un module de classe.

Le principe est simple :
• Il faut ajouter un module de classe, le renommer pour plus de compréhension (facultatif), ici TbNum,
• Définir le nom et le type des éléments de la classe (ici tbn, TextBox) dans la première ligne du module de classe avec :
Code:
Public WithEvents tbn As MSForms.TextBox
• à l'initialisation de l'UserForm définir quels contrôles seront affectés à la classe TbNum en créant un tableau des contrôles (ici ttbn).
• Dans le module de classe, définir les procédures utilisées dans la classe (ici KeyPress et Change).
À partir de là, les procédures agiront sur tous les contrôles du tableau ttbn. Cela évite d'avoir à réécrire le code pour chaque contrôle individuellement dans l'Userform1.

Même si dans cet exemple de 3 textboxes seulement le module de classe n'était pas vraiment nécessaire...

Le fichier avec le code commenté :
 

Pièces jointes

Re : Addition la valeur de 3 textbox en vba

bonjour tous 🙂🙂🙂🙂

une autre facon de l'ecrire avec une classe

comme l'ami Robert🙂 j'ai rajoute on peut pas commencer par un point si point interdit de taper un new point

si virgule converti en point une autre facon de faire le calcul

en ce qui concerne la conversions pour ecrire dans cell...
.value peu être suffisant dans beaucoup de cas

dans cette exemple bien precis pour faire le calcul

TextBox4 = TextBox1 - -TextBox2 - TextBox3 ' peut marcher🙂🙂

Code:
Private Sub CommandButton1_Click()
  TextBox4 = TextBox1 - -TextBox2 - TextBox3
  Cells(1, 1) = TextBox4.Value
End Sub
 

Pièces jointes

Re : Addition la valeur de 3 textbox en vba

Bonjour;

Il est important d'avoir en tête que chaque action génère un évènement. Ainsi sur les textBox dont tu dispose, il y un évènement perte du focus ou Leave (Sortie).
Donc :
Tu construit une function qui fait le total de tes TextBox. indépendamment des texte boxes eux même.
Aux évènements liés à vos textbox fait appel à cette fonction pour mettre à jour le contenu du texte box résultat.

Cordialement
 
Re : Addition la valeur de 3 textbox en vba

Bonjour le fil, bonjour le forum,

En pièce jointe un exemple. Plutôt que d'écrire le même code autant de fois qu'il y a des textboxes numériques, j'ai utilisé un module de classe.

Le principe est simple :
• Il faut ajouter un module de classe, le renommer pour plus de compréhension (facultatif), ici TbNum,
• Définir le nom et le type des éléments de la classe (ici tbn, TextBox) dans la première ligne du module de classe avec :
Code :
Public WithEvents tbn As MSForms.TextBox
• à l'initialisation de l'UserForm définir quels contrôles seront affectés à la classe TbNum en créant un tableau des contrôles (ici ttbn).
• Dans le module de classe, définir les procédures utilisées dans la classe (ici KeyPress et Change).
À partir de là, les procédures agiront sur tous les contrôles du tableau ttbn. Cela évite d'avoir à réécrire le code pour chaque contrôle individuellement dans l'Userform1.

Même si dans cet exemple de 3 textboxes seulement le module de classe n'était pas vraiment nécessaire...

Le fichier avec le code commenté :

merci à vous tous pour votre aide , tous les codes fonctionnent super bien reste juste un petit problème

Robert :
lors du saisie et en cas d'un chiffre contient virgule s'enregistre sur excel sans virgule

Exemple : lors du saisie "1000.100" sur excel ' cellule vide ' il enregistre "1000100"

comment je peux régler ce petit problème

merci d'avance
 
- 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
3
Affichages
1 K
Compte Supprimé 979
C
D
Réponses
9
Affichages
2 K
D
G
Réponses
0
Affichages
564
GirardSeb
G
C
Réponses
3
Affichages
2 K
claivier_58
C
C
Réponses
1
Affichages
2 K
claivier_58
C
Retour