Salut Pierre, le Forum
Je te propose de remplacer ton Private Module de UserForm par celui-ci :
Option Explicit
Private Sub UserForm_Initialize()
'TextBox6.Value = TextBox2.Value - TextBox4.Value ' NON !!!! Pas à l'initialisation
With Me
With .TextBox2
.Locked = True
.TabStop = False
End With
With .TextBox4
.Locked = True
.TabStop = False
End With
End With
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(Me.TextBox1) Then
If IsNumeric(Me.TextBox3) Then
TextBox6.Value = TextBox2.Value - TextBox4.Value
End If
End If
End Sub
Private Sub TextBox1_Change()
On Error Resume Next
TextBox2.Text = Application.WorksheetFunction.VLookup(Val(TextBox1.Text), Sheets(2).Range("A1:B31"), 2, False)
End Sub
Private Sub TextBox3_Change()
On Error Resume Next
TextBox4.Text = Application.WorksheetFunction.VLookup(Val(TextBox3.Text), Sheets(2).Range("A1:B31"), 2, False)
End Sub
Private Sub TextBox6_Change()
On Error Resume Next
TextBox5.Value = Application.WorksheetFunction.VLookup(Val(TextBox6.Value), Sheets(2).Range("a1:b31"), 2, False)
End Sub
Je ne sais pas trop ce que tu fais dans la TextBox5, mais dès que tu sortiras de la TextBox3 et si ce sont bien des valeur numérique en TextBox1 et Texbox3, alors l'addittion des TextBox2 et TextBox4 se fera en TextBox 6...
Par contre il ne fallaitr surtout pas tenter l'addition à l'initialise du UserForm, les TextBox ne peuvent s'additionner vides...
Bonne Soirée
@+Thierry
PS le beau bouton bleu me rappelle quelqu'un au fait !!