Formatage, nombre type francais, en type anglais.

Contenu du snippet

Ce code vous permet de tester si c'est du numérique, et de mettre des virgules tous les trois chiffres, comme les anglais.

Pour le réaliser, il faut créer un form avec un textbox1 et un button1.

Source / Exemple :


Public NombreTotal As Long
    'J'ai déclaré un tableau à 30 unités, si on en veut plus, il faut mettre plus que 30
    ' Logique ! ;-p
    Public TabChiffre(30) As String
    Public chiffre As Integer
    Public i, j As Integer
    Public k As Long
    Public puissance As Integer
    Public NombreChiffre As Integer
    Public GpeDeTrois As Integer
    Public string1 As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'on Test si la case est vide ou non
        If TextBox1.Text <> "" Then
            'on test si la case est du numérique
            If IsNumeric(TextBox1.Text) = True Then
                i = 0
                'on place le texte dans une variable
                NombreTotal = Mid(TextBox1.Text, 1)
                'on cherche le nombre total de chiffre
                NombreChiffre = Len(TextBox1.Text)
                j = NombreChiffre - 1
                puissance = NombreChiffre - 1
                k = 10 ^ puissance
                Do Until i = NombreChiffre
                    ' Le but est simple, il suffit de diviser chaque partie, (millier, centaine, dizaine, unité),
                    ' et de les isoler dans un tableau.
                    TabChiffre(j) = Int(NombreTotal / k)
                    NombreTotal = NombreTotal - (TabChiffre(j) * k)
                    j = j - 1
                    i = i + 1
                    k = k / 10
                Loop
                i = 0
                GpeDeTrois = 0
                TextBox1.Text = ""
                Do Until i = NombreChiffre
                    'une fois le tableau remplis, on remet en place
                    'le nouveau text du textbox1, en prenant garde, que
                    'tous les trois chiffre, il y ait une virgule.
                    If GpeDeTrois = 3 Then
                        string1 = TextBox1.Text
                        TextBox1.Text = "," & string1
                        GpeDeTrois = 0
                    Else
                        string1 = TextBox1.Text
                        TextBox1.Text = TabChiffre(i) & string1
                        GpeDeTrois = GpeDeTrois + 1
                        i = i + 1
                    End If
                Loop
            End If

        Else
            MsgBox("Inscrivez quelque chose")
        End If

    End Sub
End Class

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.