If TextBox1 = "" Then
MsgBox " première text box non documentée"
Exit Sub
End If
If IsNumeric(TextBox1) = False Then
MsgBox " première text box non numérique"
Exit Sub
End If
' idem pour la deuxième
Option Explicit
Private Sub UserForm_Activate()
TextBox1.Value = 0: formate TextBox1
TextBox2.Value = 0: formate TextBox2
End Sub
'dans l'event update on appelle la sub formate
Private Sub TextBox1_AfterUpdate(): formate TextBox1: End Sub
Private Sub TextBox2_AfterUpdate(): formate TextBox2: End Sub
'dans l' event up on selectionne tout le contenu du textbox par la sub generiqus "completDelect"
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
completSelecT TextBox1
End Sub
Private Sub TextBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
completSelecT TextBox2
End Sub
'-------------------------------------------------------------------------------------------------------
'les subs generiques
Sub completSelecT(TXTB)
With TXTB: .SelStart = 0: .SelLength = 100: End With
End Sub
Sub formate(TXTB)
TXTB.Value = Format(Replace(TXTB.Value, ".", ","), "# ##0.00 €")
End Sub
'-------------------------------------------------------------------------------------------------------
'validation
Private Sub CommandButton1_Click()
With ActiveSheet
.[B5] = CDbl(TextBox1.Value)
.[E5] = CDbl(TextBox2.Value)
.[H5] = CDbl(TextBox1.Value) + CDbl(TextBox2.Value)
End With
Unload Me
End Sub
Merci à toi j'essaie ça demain et reviens vers toi. Bonne nuit, j'y vais aussibonsoir
Mettre la propriété value des text box à 0,00
plutôt que mettre à 0 (qui ne sera pas la solution tip top)
a l'appui bouton il faut contrôler auparavant si tes textbox sont documentées , et ensuite contrôler si ces des valeurs numériques
VB:If TextBox1 = "" Then MsgBox " première text box non documentée" Exit Sub End If If IsNumeric(TextBox1) = False Then MsgBox " première text box non numérique" Exit Sub End If ' idem pour la deuxième
Merci à toi j'essaie ça demain et reviens vers toi. Bonne nuit, j'y vais aussiBonsoir
oui on peut jouer avec les events pour obtenir ce genre d'ergonomie
VB:Option Explicit Private Sub UserForm_Activate() TextBox1.Value = 0: formate TextBox1 TextBox2.Value = 0: formate TextBox2 End Sub 'dans l'event update on appelle la sub formate Private Sub TextBox1_AfterUpdate(): formate TextBox1: End Sub Private Sub TextBox2_AfterUpdate(): formate TextBox2: End Sub 'dans l' event up on selectionne tout le contenu du textbox par la sub generiqus "completDelect" Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) completSelecT TextBox1 End Sub Private Sub TextBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) completSelecT TextBox2 End Sub '------------------------------------------------------------------------------------------------------- 'les subs generiques Sub completSelecT(TXTB) With TXTB: .SelStart = 0: .SelLength = 100: End With End Sub Sub formate(TXTB) TXTB.Value = Format(Replace(TXTB.Value, ".", ","), "# ##0.00 €") End Sub '------------------------------------------------------------------------------------------------------- 'validation Private Sub CommandButton1_Click() With ActiveSheet .[B5] = CDbl(TextBox1.Value) .[E5] = CDbl(TextBox2.Value) .[H5] = CDbl(TextBox1.Value) + CDbl(TextBox2.Value) End With Unload Me End Sub
Merci à toi j'essaie ça demain et reviens vers toi. Bonne nuit, j'y vais aussiRe le forum
Re alain,pierrephie, bonsoir JM27
Entièrement d'accord avec Jean-Marcel qui te dit de contrôler la valeur numérique des TextBoxs. Je te mets néanmoins un fichier à compléter pour tes essais.
Bonne soirée à toutes & à tous
Bonjour Eric j'espère que tout va bien. J'ai donc essayé ton truc mais ça ne marche pasRe le forum
Re alain,pierrephie, bonsoir JM27
Entièrement d'accord avec Jean-Marcel qui te dit de contrôler la valeur numérique des TextBoxs. Je te mets néanmoins un fichier à compléter pour tes essais.
Bonne soirée à toutes & à tous
Merci JM je vais suivre ton conseil. Bonne journéeBonjour Alain pierre
Mais ça fonctionne quand y 'a des données dans les textBox ! La y'a rien !
Ou alors tu utilise la méthode de PatrickToulon qui a l'ouverture met un zéro (0,00) dans les textBox.
Évite le problème de convertir un textBox vide
Bonne journée
Jean marie
Je suis en train de l'essayer.Bonjour
ma solution du post #2 fonctionnait
Je l'aie placée dans la versement1 et ça marche pas a moins qu'il faille le placer ailleurs ?Bonjour
ma solution du post #2 fonctionnait