Soustraction de nombres entrés dans un text box

Description

Avant que tout le monde critique cette source, sâchez qu'elle est faîte pour VBsupernul. Il avait un problème pour soustraire un nombre entré dans une TextBox par un autre. Donc, je publie la solution, au cas où ca interesserait quelqu'un d'autres.

Source / Exemple :


Private Sub BOU_BOUTON_Click()
'on fait la soustraction !

'on active la routine de traitement d'erreur
On Error GoTo erreur0

'déclaration des variables privées
Dim INT_Position As Integer 'stocke la position de recherche
Dim DOU_Nombre As Double  'stocke le nombre à soustraire
Dim DOU_Nombres As Double 'stocke les nombres à faire la soustraction
Dim STR_Nombre As String 'stocke le texte de recherche courrant
Dim INT_longueur_texte As Integer 'stocke la longueur de la sélection courante
Dim STR_Texte As String 'stocke le nombre à soustraire

    'on efface la zone de résultat
    TXT_RESULTAT.Text = ""
    
    'on initialise les variables
    INT_Position = 1
    STR_Nombre = ""
    STR_Texte = TXT_NOMBRES.Text
    
    'on définit le nombre à retrancher:
    DOU_Nombre = CDbl(TXT_NOMBRE.Text)
    
    'on lance la recherche pour délimiter les nombres:
    Do
    
        If Mid(STR_Texte, INT_Position, 1) <> " " Then
        
            'on stocke le caractère à la suite des autres
            STR_Nombre = STR_Nombre & Mid(STR_Texte, INT_Position, 1)
                    
        Else
        
            'on a fini de délimiter le nombre
            DOU_Nombres = CDbl(STR_Nombre)
                        
            'on effectue la soustraction
            DOU_Nombres = DOU_Nombres - DOU_Nombre
            
            'on affiche enfin le résultat dans la zone de texte
            TXT_RESULTAT.Text = TXT_RESULTAT.Text & " " & DOU_Nombres
            
            'on réinitialise le nombre obtenu par la recherche
            DOU_Nombres = 0
            STR_Nombre = ""
            
        End If
        
        INT_Position = INT_Position + 1
        
    Loop While (INT_Position - 2) < Len(STR_Texte) + 1

'la procédure est finie
Exit Sub

'routine de traitement d'erreur:
erreur0:
MsgBox "Il y a eu une erreur !", vbOKOnly + vbExclamation, "Erreur !"

End Sub

Conclusion :


J'espère avoir répondu à ta question VBsupernul

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.