IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

probleme comprehension entre virgule et point dans un formulaire [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut probleme comprehension entre virgule et point dans un formulaire
    bonjour a tous

    voici mon souci

    une listbox, me fait apparaitre sur une première colonne un choix de reference et sur la deuxieme colonne le prix de la référence.
    Ce prix apparaissant avec une virgule pour les centimes

    lorsque je double clique, ce prix viens allimenter une textbox
    le souci c'est qu'il vien avec la virgule, hors il faudrait qu'il vienne avec un point

    voici le code pour le double click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub list_operation_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    I = list_operation.ListIndex
    'j'alimente ma combobox avec le contenu de la première colonne
    'de la listbox
    pvht = list_operation.Column(0, I)
    'Je donne a la textbox la valeur de la 2ème colonne de la listbox
    boxref = list_operation.Column(1, I)
    End Sub
    le souci est sur boxref

    a moins qu'une solution plus simple se trouve lors de la création de chaque référence, puisqu'elle se fait lors de la saisie d'une nouvelle reference dans ce formulaire
    comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Private Sub boxref_AfterUpdate()
    Dim c As Range
    Dim LastLig As Long
    With Sheets("BDD")
        LastLig = .Cells(Rows.Count, 5).End(xlUp).Row
        Set c = .Range("E2:E" & LastLig).Find(boxref, LookIn:=xlValues, lookat:=xlWhole)
        If c Is Nothing Then
            .Range("E" & LastLig + 1) = boxref
            .Range("A" & LastLig + 1) = boxtype
            .Range("B" & LastLig + 1) = boxmarque
            .Range("C" & LastLig + 1) = boxproduit
            .Range("D" & LastLig + 1) = Val(pvht.Value)
            .Range("D" & LastLig + 1).NumberFormat = "#,##0.00"
     
            boxtyte.ListIndex = -1
            boxtyte.RowSource = "BDD!E2:E" & LastLig + 1
            boxtyte.Value = boxtyte.List(boxtyte.ListCount - 1)
        Else
            boxtyte.Value = boxref.Value
        End If
        Set c = Nothing
    End With
    End Sub
    et donc peu etre en manipulant la ligne avec numberformat, existe-til une solution simple

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Si je ne me trompe pas, tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boxref = Replace(list_operation.Column(1, I), ",", ".")

  3. #3
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    merci

    as-tu une idée ou je devrais placé ta ligne de code ?

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    C'est là le hic ^^

    Au moment ou tu recupere la valeur dans la cellule et que tu le copie dans ta variable. C'est tout ce que je sais te dire, car j'ai du mal avec ton code (j'ai pas sufisement de connaissance, desolé)

  5. #5
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    trouvé
    merci
    la solution
    modification de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    .Range("D" & LastLig + 1) = Val(pvht.Value)
     
    en
     
    .Range("D" & LastLig + 1) = pvht
    l'erreur venait bien de la source

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Remplacer virgule par point dans un fichier csv
    Par marco056 dans le forum Général Python
    Réponses: 2
    Dernier message: 21/11/2014, 19h20
  2. VBA - Limiter la saisie d'une seule virgule ou point dans une TextBox
    Par natab dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/08/2011, 14h00
  3. Changer la virgule en point dans un fichier de données
    Par nicolastro dans le forum LabVIEW
    Réponses: 1
    Dernier message: 26/05/2008, 12h26
  4. Changer les virgules en points dans un fichier texte
    Par lilibert dans le forum MATLAB
    Réponses: 8
    Dernier message: 19/06/2007, 18h41
  5. Réponses: 5
    Dernier message: 25/10/2005, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo