Affichage décimales incohérent
#1
Débutant XLPages

Inscription: 25/03/2011

Messages: 15

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 06-05-2011 09h45
Bonjour le Forum,

J'affiche dans 3 textbox des données avec 2, 3 et 4 décimales avec le code ci dessous :
TxtPoids.Text = Format(vCellule.Offset(0, 6), "#0.000") 'Poids
TxtCout.Text = Format(vCellule.Offset(0, 8), "#0.0000") 'Coût
TxtTemps.Text = Format(vCellule.Offset(0, 9), "#0.00") 'temps
Après l'enregistrement de la saisie d'un article avec les données 3.567 - 28.3200 - 12.50, le premier affichage est correct.
Quand je modifie un élément quelconque (mais autre) du même article qui utilise exactement les mêmes procédures enregistrer / chargefiche ci dessous, les données en cause sont 3567.000 - 283200.0000 - 12.50.
Et ainsi de suite si je renouvelle 3567000.000 - 2832000000.0000 - 12.50.
C'est une heureuse façon de s'enrichir virtuellement mais ça commence à me ruiner la santé, d'autant qu'il n'y a pas de problèmes tant que je reste sur 2 décimales.
Je précise avoir essayé la virgule, les # en place des 0 et autres choses sans résultats.

Merci de votre aide.
Daniel 

Sub ChargeFiche()

'  Alimentation de la fiche Article

    'recherche de l'enregistrement
    Set vCellule = vWstArticles.Cells(2, 1)
        Do While vClé <> vCellule
            Set vCellule = vCellule.Offset(1, 0)
        Loop
       
    ' si modif charger le n° d'enregistrement
    vNumLigne = vCellule.Row
   
    ' charge les controles
    CbxFamille.Text = vCellule.Offset(0, 1) 'famille
    TxtEtat = vCellule.Offset(0, 2) 'État(Article supprimé)
    CbxLibelléInterne.Text = vCellule.Offset(0, 3) 'libellé interne
    CbxFormat.Text = vCellule.Offset(0, 4) 'Format
    CbxGrammage.Text = Format(vCellule.Offset(0, 5), "###0") 'grammage
    TxtPoids.Text = Format(vCellule.Offset(0, 6), "#0.000") 'Poids
    CbxFournisseur.Text = vCellule.Offset(0, 7) 'Fournisseur
    TxtCout.Text = Format(vCellule.Offset(0, 8), "#0.0000") 'Coût
    TxtTemps.Text = Format(vCellule.Offset(0, 9), "#0.00") 'temps
    CbxLibelléClient.Text = vCellule.Offset(0, 10) 'libellé client
    TxtCommentaires.Text = vCellule.Offset(0, 11) 'commentaires
       
End Sub

Sub Enregistrer()
' Enregistrement d'un nouvel Article ou d'une modification
'-------------------------------------------------

'Contrôle des saisies
vMessage = ""
    If CbxFamille.Text = "" Then vMessage = vMessage & "Famille, "
    If CbxLibelléInterne.Text = "" Then vMessage = vMessage & "Libellé interne, "
    If CbxLibelléClient.Text = "" Then vMessage = vMessage & "Libellé client, "
    If vMessage <> "" Then
        vMessage = "Veuillez saisir : " & vMessage
        Alerte (vMessage): Exit Sub
    End If
    'Incrémentation Code et adresse de l'enregistrement (si modif ou suppr, vNumLigne est chargé dans LvwArticles_ItemClick() )
    If vCommande = "Nouveau" Then
        vClé = Application.WorksheetFunction.Max(Range("A:A")) + 1
        vNumLigne = vWstArticles.Range("A65536").End(xlUp).Row + 1
    End If
   
'Enregistrement dans la table
Set vCellule = vWstArticles.Cells(vNumLigne, 1)

    vCellule.Offset(0, 0) = vClé 'VClé est chargé CmdNouveau,Cmdnouveau2 ou LvwArticles_ItemClick
    vCellule.Offset(0, 1) = CbxFamille.Text
    vCellule.Offset(0, 2) = TxtEtat.Text
    vCellule.Offset(0, 3) = CbxLibelléInterne.Text
    vCellule.Offset(0, 4) = CbxFormat.Text
    vCellule.Offset(0, 5) = Format(CbxGrammage.Text, "###0")
    vCellule.Offset(0, 6) = Format(TxtPoids.Text, "#0.000")
    vCellule.Offset(0, 7) = CbxFournisseur.Text
    vCellule.Offset(0, 8) = Format(TxtCout.Text, "#0.0000")
    vCellule.Offset(0, 9) = Format(TxtTemps.Text, "#0.00")
    vCellule.Offset(0, 10) = CbxLibelléClient.Text
    vCellule.Offset(0, 11) = TxtCommentaires.Text
   
    ThisWorkbook.Save
   
    'Mise à jour des combobox, listview
    LvwArticles.Sorted = False
    MajListingArticles
    ComboFill

    'Conserver les données du dernier Article saisi
    ChargeFiche
    vMessage = ""

    'MAJ des boutons de commande
    vCommande = "Enregistrer"
    Commande vCmdN, vCmdN2, vCmdM, vCmdE, vCmdA
   
End Sub




Hors Ligne
Rapport   Haut 

Re: Affichage décimales incohérent
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 06-05-2011 21h48
Bonjour Danisoaz, le Forum,

Analyser comme ça, sans classeur, ce type de problème me parait très difficile et à moins de tenter de reconstruire moi-même la situation (avec les contrôles qui vont bien et tout....), ça me parait même impossible.

Aussi, tu te doutes bien que je vais te demander de fournir un fichier exemple reproduisant le cas rencontré (zippé, de 80Ko maxi, sans données confidentielles, épuré aussi à l'essentiel du problème et joint obligatoirement dans le présent forum).

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Affichage décimales incohérent
#3
Débutant XLPages

Inscription: 25/03/2011

Messages: 15

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 07-05-2011 09h17
Bonjour Didier,

A part t'envoyer tout le code et la table, i.e. +/- 250ko, je ne vois pas comment isoler le problème.
A tout hasard je t'envoie la table et te remercie de ton concours.

Cordialement
Daniel
Pièce jointe:
xlsx Produits.xlsx   [ Taille: 18.67 Ko - Téléchargements: 561 ]
Hors Ligne
Rapport   Haut 

Re: Affichage décimales incohérent
#4
Débutant XLPages

Inscription: 25/03/2011

Messages: 15

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 07-05-2011 09h22
PS :
Peut-être qu'avec le formulaire ce serait plus pratique...
Pièce jointe:
zip formulaire.zip   [ Taille: 8.22 Ko - Téléchargements: 439 ]
Hors Ligne
Rapport   Haut 

Re: Affichage décimales incohérent
#5
Débutant XLPages

Inscription: 25/03/2011

Messages: 15

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 09-05-2011 05h25
Bonjour le forum,

Problème résolu (environnement Windows 7 / Excel 2007) :
Panneau config
Horloge ... et région
Modifier format ...et des nombres
Paramètres supplémentaires
Symbole décimal : choisir le point au lieu de la virgule

Je n'ai pas encore testé les incidences que cela peut avoir pour l'utilisateur sur d'autres applis, mais il serait préférable de trouver la commande qui permette d'intervenir sur ce paramètre pour le modifier si nécessaire et le restituer en sortie

cordialement
Daniel 

Hors Ligne
Rapport   Haut 

Re: Affichage décimales incohérent
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 10-05-2011 17h34
Bonjour Danisoaz, le Forum,

Intervenir par le Panneau de Configuration peut être effectivement un dépannage, mais ça reste une solution pas vraiment satisfaisante comme tu l'as compris. Il te faut bien veiller aux impacts causés sur le reste du système ainsi que sur tes applications autres.

A toutes fins utiles, sur Excel 2007 et sauf erreur de ma part, tu devrais déjà pouvoir agir via les Options / Options avancées / rubrique « Utiliser les séparateurs systèmes »... en lieu et place des options système du Panneau de Configuration.

Cela dit, cette autre solution reste également très limite et pas franchement satisfaisante non plus.

Navré, mais reconstituer ton classeur fourni en « Kit » et du coup rendu peu exploitable, ne m'a pas plus inspiré que ça...

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes