Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

passage de valeurs de textbox

2 réponses
Avatar
oriop
bonjour le forum,

mon problème est le suivant :

dans mon userform se trouve trois listbox.

une avec la surface total
une avec la surface plancher
une avec la surface radiateur

j'aimerais qu'en rentrant deux des trois valeurs la derniere se calcule
automatiquement et que toutes les modifications faites ultérieurement donnent
toujours surface total = somme des deux autres.

si vous avez une solution, j'apprecierai beaucoup votre aide

merci d'avance.

2 réponses

Avatar
MPi
Salut,

Textbox ou Listbox ?
J'imagine que ce sont des Textbox...

Private Sub TextBox1_Change()
If IsNumeric(TextBox1) And IsNumeric(TextBox2) Then TextBox3 = TextBox1 *
TextBox2
End Sub

Private Sub TextBox2_Change()
If IsNumeric(TextBox1) And IsNumeric(TextBox2) Then TextBox3 = TextBox1 *
TextBox2
End Sub

Michel


bonjour le forum,

mon problème est le suivant :

dans mon userform se trouve trois listbox.

une avec la surface total
une avec la surface plancher
une avec la surface radiateur

j'aimerais qu'en rentrant deux des trois valeurs la derniere se calcule
automatiquement et que toutes les modifications faites ultérieurement donnent
toujours surface total = somme des deux autres.

si vous avez une solution, j'apprecierai beaucoup votre aide

merci d'avance.



Avatar
PMO
Bonjour,

Voici une ébauche. Je dis ébauche car ça ne traite pas les nombres
négatifs, les entrées texte, …beaucoup de choses qui risquent problème)

1) Copiez le code suivant dans un module Standard
'**********
Public TOTALE As Double
Public PLANCHER As Double
Public RADIATEUR As Double
'**********

2) Copiez le code suivant dans le code de votre UserForm
'**********
Private Sub CommandButton1_Click()
'''' Bouton Reset ''''
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TOTALE = 0
PLANCHER = 0
RADIATEUR = 0
End Sub

Private Sub TextBox1_AfterUpdate()
If IsNumeric(TextBox1) Then
TOTALE = TextBox1
If RADIATEUR > 0 Then
TextBox2 = TOTALE - RADIATEUR
End If
If PLANCHER > 0 Then
TextBox3 = TOTALE - PLANCHER
End If
End If
End Sub

Private Sub TextBox2_AfterUpdate()
If IsNumeric(TextBox2) Then
PLANCHER = TextBox2
If RADIATEUR > 0 Then
TextBox1 = PLANCHER + RADIATEUR
End If
If TOTALE > 0 Then
TextBox3 = TOTALE - PLANCHER
End If
End If
End Sub

Private Sub TextBox3_AfterUpdate()
If IsNumeric(TextBox3) Then
RADIATEUR = TextBox3
If PLANCHER > 0 Then
TextBox1 = PLANCHER + RADIATEUR
End If
If TOTALE > 0 Then
TextBox2 = TOTALE - RADIATEUR
End If
End If
End Sub
'**********

Evidemment il vous faut adapter les noms des contrôles
TextBox1 TextBox2 TextBox3 CommandButton1
à votre usage.
D'autre part, il est nécessaire d'avoir un bouton Reset pour
tout réinitialiser lors d'un nouveau calcul. Vous pouvez
voir la routine Private Sub CommandButton1_Click() dans le code.
Il vous faut, par conséquent, créer ce bouton.

Cordialement.

--
PMO
Patrick Morange



bonjour le forum,

mon problème est le suivant :

dans mon userform se trouve trois listbox.

une avec la surface total
une avec la surface plancher
une avec la surface radiateur

j'aimerais qu'en rentrant deux des trois valeurs la derniere se calcule
automatiquement et que toutes les modifications faites ultérieurement donnent
toujours surface total = somme des deux autres.

si vous avez une solution, j'apprecierai beaucoup votre aide

merci d'avance.