VB - Remplir listbox avec décimaux
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

VB - Remplir listbox avec décimaux



  1. #1
    invite1038f851

    VB - Remplir listbox avec décimaux


    ------

    Bonjour,

    J'ai besoin de votre aide car je rencontre un problème pour remplir une listbox. Il faudrait que celle-ci puisse contenir des décimaux (les données que j'y importent sont décimales et j'aimerais conserver ce format ; càd éviter de multiplier par 1000 pour avoir des entiers).
    J'arrive à insérer des points sous la forme "12.054" mais il faudrait "12,054" car par la suite j'utilise les valeurs de la listbox dans différents calculs.

    Mon code est le suivant :
    Code:
    CommonDialog1.ShowOpen
    If CommonDialog1.FileName = "" Then MsgBox "Vous n'avez rien sélectionné": Exit Sub
    Open CommonDialog1.FileName For Input As #1
     
    Dim ligne As String
    Dim i As Integer
    Dim w As String
    Dim valeurs As Variant
    Dim sd As Variant
    Input #1, ligne
    w = InputBox("Quel est le séparateur des cordonnées ?" & VBA.Chr(13) & VBA.Chr(10) & "1ère coordonnées trouvées dans votre fichier :  " & VBA.Chr(10) & ligne)
    valeurs = Split(ligne, w)                                              'on sépare selon le séparateur entré plus haut
    Liste.Lstb_pts.AddItem (valeurs(0))
    Liste.Lstb_pts.List(Liste.Lstb_pts.ListCount - 1, 1) = valeurs(1)
    Liste.Lstb_pts.List(Liste.Lstb_pts.ListCount - 1, 2) = valeurs(2)
    Liste.Lstb_pts.List(Liste.Lstb_pts.ListCount - 1, 3) = valeurs(3)
     
    While Not EOF(1)                                                      
    Input #1, ligne
                                        
    valeurs = Split(ligne, w)
    Liste.Lstb_pts.AddItem (valeurs(0))
    Liste.Lstb_pts.List(Liste.Lstb_pts.ListCount - 1, 1) = valeurs(1)
    Liste.Lstb_pts.List(Liste.Lstb_pts.ListCount - 1, 2) = valeurs(2)
    Liste.Lstb_pts.List(Liste.Lstb_pts.ListCount - 1, 3) = valeurs(3)
     
    Wend
     
    Close #1
    Si je suis obligé de séparer les données par un " " et supprimer la inputbox ça ne me dérange pas.
    Il me semble que le problème est que dès qu'il rencontre une virgule le programme croit qu'il faut aller à la ligne.

    J'espère que c'est possible est que vous allez pouvoir m'aider !
    Merci par avance.

    -----

  2. #2
    invite42cd6fb5

    Re : VB - Remplir listbox avec décimaux

    bonjour,

    Vous devriez vérifier sous si le séparateur par défaut dans les paramètres de windows est soit le point soit la virgule (pour XP, panneau de config, options regionale et linguistique, bouton "personnaliser"). Sans dire de bêtise, VB utilise le séparateur par défaut, donc si vous séléctionnez la virgule, VB utilisera ce caractère.

    Dans le cas ou cela ne fonctionne pas, il vous reste la possibilité de remplacer le point par la virgule avant d'insérer votre résultat dans la liste grace à : Replace(valeur, ".", ",")

Discussions similaires

  1. Avec quoi remplir?
    Par nino79 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 10
    Dernier message: 07/11/2011, 17h01
  2. Insertion d'une ligne dans une listbox
    Par invite1038f851 dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 19/03/2010, 10h30
  3. 45cm entre solives dans un plancher d'étage à remplir avec quoi?
    Par etinou dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 5
    Dernier message: 07/08/2009, 10h36
  4. Couleur d'un item dans listbox en VB 6.3
    Par inviteb2917e5f dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 15/03/2009, 17h00
  5. Remplir une SD1Go avec images aléatoires issues d'un HDD 500Go
    Par paillassou dans le forum Logiciel - Software - Open Source
    Réponses: 12
    Dernier message: 25/04/2008, 14h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...