begin process at 2012 02 12 12:19:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > FORMATAGE, NOMBRE TYPE FRANCAIS, EN TYPE ANGLAIS.

FORMATAGE, NOMBRE TYPE FRANCAIS, EN TYPE ANGLAIS.


 Information sur la source

Note :
Aucune note
Catégorie :VB.NET Source .NET ( DotNet ) Niveau :Débutant Date de création :02/12/2003 Date de mise à jour :02/12/2003 12:01:21 Vu :6 072

Auteur : huuuuu21

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
    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



 Sources du même auteur

Source avec Zip Source avec une capture COMMENT UTILISER UN TIMER

 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

Commentaires et avis

Commentaire de radada le 02/12/2003 10:14:06

Juste 2 remarques : tu aurais pu cocher la case .net en bas de la feuille d'ajout de source histoire qu'on le voit direct que c'est du .net. Et pas besoin de mettre le code généré automatiquement par VB.net. Ca prends trois tonnes de places pour une fonction qui fait 30 liges lignes au final ; ). Sinon, pas encore testé, pas de .Net au boulot.

Commentaire de huuuuu21 le 02/12/2003 12:02:40

Il suffit de demander !!!!! lol

Commentaire de radada le 02/12/2003 12:09:49

lol merci ; ))) :D:D

Commentaire de azerty25 le 02/12/2003 12:37:03

Salut, je m'y connai pas en .NET et j'aimerai savoir si c'est lui qui ajoute tout seul "ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click" et sa que sa voudrai dire si possible ;-) Mici

Commentaire de radada le 02/12/2003 13:11:05

C'est pour dire que tu clique sur le bouton1. Comme quand tu double cliquais dans ta form sur un bouton il t'affichait le code lié à cet évènement, ben là pareil, mais en plus "Orienté Objet". Voila

Commentaire de azerty25 le 02/12/2003 13:44:16

Oki ;-)

Commentaire de tno le 03/12/2003 10:07:42

Et la fonction format ???

myString = format (myNb, "### ### ### ### ###")

Commentaire de tno le 03/12/2003 10:16:21

Oups, j'ai oublié les virgules...
myString = format (myNb, "###,###,###,###,###")

Commentaire de tno le 03/12/2003 10:26:25

Avec un antislash (\) avant les virgules...

Commentaire de DrJo45 le 11/12/2003 10:11:21

En .Net, je ne sais pas si on peut appeler des API Windows, mais sinon, pour formatter un nombre selon un pays quelconque, il suffit d'utiliser GetNumberFormat :
Private Declare Function GetNumberFormat Lib "kernel32" Alias "GetNumberFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, ByVal lpFormat As Long, ByVal lpNumberStr As String, ByVal cchNumber As Long) As Long

Public Function EtrFormatNum(Valeur As Double, LCID As long) As String
'Procédure pour formatter Valeur selon un paramètre régional défini par LCID (1036 pour la france et 2057 pour l'anglais UK par exemple)
Dim lsize As Long, Chaine As String
  'défini la taille du buffer de retour nécessaire
  lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, "", 0)
  If lsize = 0 Then Error 5
  'défini un buffer de taille suffisante et formatte
  Chaine = String(lsize, 0)
  lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, Chaine, lsize)
  EtrFormatNum = Left(Chaine, InStr(Chaine & Chr(0), Chr(0)) - 1)
End Function

J'espère que ceci peut vous aider à utiliser les API Windows (elles font plein de choses quand on leur demande gentiment)

DrJoe

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,326 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales