1. #1
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut Point . et virgule , sous VBA - format des nombres décimaux et dates

    Bonjour
    je rencontre un problème tout à fait idiot qui me bloque depuis deux jours.
    J'ai un fichier Excel ou sont répertoriés des montants et des dates.
    Les montants ont un format 0,00 € les poids 0,000 (kg) et les dates 15-06-2017

    On me demande de fournir un excel à partir de celui-ci pour rentrer mes articles dans lequel les montants devront être au format 0.00 ou 0.000 et les dates au format américain 2017-06-15

    J'ai bien pensé à la méthode numberformat = "0.000" mais si ça me sort bien 0,000 => soit le bon format mais pas le bon séparateur, il me faut absolument le "."
    A noter que je ne PEUX PAS, pour d'autres exploitations du fichier de base, passer tous mes chiffres en sépérateur américain "." je dois garder la ","
    => comment faire ?

    Pour les dates, je ne trouve carrément pas le format de la méthode pour changer les dates de 15/06/17 en 2017-06-15 ...

    Accessoirement, comment centrer ou mettre gauche ou à droite les données dans une colonne ?

    Qqn a t il rencontré ces problèmes ?

    Merci de votre partage d'expérience.

  2. #2
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 717
    Points : 2 906
    Points
    2 906

    Par défaut

    bonjour,

    excel utilise les paramétrés régionaux! toutes tentative de modifier les format pour faire plaisir aux donneur d'ordres, entraîne des complications dans le travail de tous les jour et ce quelque soit la langue de l'utilisateur!

    explique à ces messieurs qu'ils pourront fournir leurs fichiers à Donald les accents aigu n'auront pas l'accent américain, mais les date en les nombres oui!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  3. #3
    Membre émérite Avatar de Daranc
    Homme Profil pro
    Technicien Métroogie R&D
    Inscrit en
    janvier 2007
    Messages
    1 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métroogie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 463
    Points : 2 262
    Points
    2 262

    Par défaut

    pour les dates c'est le truc simple format de cellule d'abord Date (tu dois avoir un truc du genre JJ/MM/AAAA) -->personnalisé--> dans le champ tu met(AAAA/MM/JJ)
    pour les chiffre le symbole decimal est pris avec les option regionale et ce change normalement à l'ouverture ( et il n'est pas dit que les dates n'en fassent pas autant je n'ai jamais eu de problème avec les USA,l'Italie ni l’Angleterre ou l'Allemagne..sinon pour traduire les intitulés)
    Cordialement
    Daranc

  4. #4
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 717
    Points : 2 906
    Points
    2 906

    Par défaut

    Je ne suis pas sur que le format monétaire soit une bonne idée 100€ 100$ 100£ 100¥ c'est pas la même chose!

    On peut se poser la question de accent bien que je ne sois pas sur que les américains écrivent souvent à un "depute"!

    Si tu travail exclusivement pour l'Amérique alors passe tes paramètres régionaux en américain!

    Je voulais juste mettre en évidence ce genre de demande!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  5. #5
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut J'voudrais bien !

    Citation Envoyé par dysorthographie Voir le message
    bonjour,

    excel utilise les paramétrés régionaux! toutes tentative de modifier les format pour faire plaisir aux donneur d'ordres, entraîne des complications dans le travail de tous les jour et ce quelque soit la langue de l'utilisateur!

    explique à ces messieurs qu'ils pourront fournir leurs fichiers à Donald les accents aigu n'auront pas l'accent américain, mais les date en les nombres oui!
    Malheureusement, 'est bien ce que je pensais..et que je ne voulais pas, car le gros malin qui me demande ça, c'est AMAZON..
    D'ailleurs, j'ai le même problème avec l'orthographe: je colle une valeur "True" dans certaines colonnes et il ressort "VRAI" une fois que le programme a fini...j'ai traduit.

  6. #6
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    alors si je comprends bien (et c'est vrai que mon format numérique est exactement 0,00 et pas 0,00 €), Daranc, je dois faire quoi ?
    Comment changer les paramètres à l'ouverture, et ne pas influencer les autres colonnes de chiffres ?
    Ce fichier doit rester avec des décimales "," pour que d'autres appli viennet prendre les bonne valeurs.
    C'est pour ça que je ne comprends pas qu'avec la méthode numberformat, on ne puisse pas gérer uniquement le format des colonnes crées avec cette méthode dans le fichier de destination ?
    suis je clair ?
    Dans mon fichier A, j'ai des "," et des 22/12/2015
    Dans le fichier Excel crée par mon code, j'ai besoin de "." et de 2015-12-11.

    en fait; malgré le reformatage des colonnes adhoc, je conserve mes "," décimales, par contre je passe bien de 2 à 3 chiffres derrière la virgule; il n'y a que le séparateur qui ne "passe pas" ..et mon True qui devient VRAI.
    Ma date elle, se change bien en définissant
    Worksheets("Amazon").Columns("W:W").NumberFormat = "YYYY-MM-DD"

    Casse tête

  7. #7
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 717
    Points : 2 906
    Points
    2 906

    Par défaut

    A adapter.

    A amazone tu fournis une copie du fichier et tu garde ton exemplaire de travail tel quel!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    With range("A1").currentregion
          for i = 2 to .rows.goinfre 
             .cells(i,"A")="'" & frormat(.cells(i,"A"),"yyyy-mm-dd")
             .cells(i,"B") ="'" & array("False"),"True")(abs(.cells(l,"B"))  'Faux/Vrai
          next
     
    End with
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  8. #8
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut suite

    ..on avance.

    D'abord, j'ai oublié de dire que pour me débrouiller, je retravaillais à la main le fichier édité en
    - remplaçant bêtement VRAI par True (ça, ça marche)
    - remplaçant (rechercher/remplacer) "," par "." pour mes chiffres

    Et là, chose curieuse, mes nombres avec les 2 decimales derrière le point devienent pour certaines 15 décimales derrière le point et ce nombre part à gauche dans la cellule !
    N'importe quoi !
    Voyez, sur les deux co:lonnes de gauche, le 6,5 est devenu 6.5 et est "parti" à gauche
    sur la troisième, à droite 0,3 est devenu 0.3 en allant à gauche et 0,393 est devenu 0.393333333333333 !

    Nom : 2017-06-15_220631.jpg
Affichages : 56
Taille : 57,1 Ko

    Pour dysorthographie, j'avoue que ce bout de code est un peu abscons pour moi...
    que font excatement:
    .cells(i,"A")="'" & frormat(.cells(i,"A"),"yyyy-mm-dd")
    .cells(i,"B") ="'" & array("False"),"Tue")(abs(.cells(l,"B")) ?

  9. #9
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 717
    Points : 2 906
    Points
    2 906

    Par défaut

    Le "'" empêche excel de convertir le format américain en format français (texte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    With range("A1").currentregion
          for i = 2 to .rows.goinfre 
             .cells(i,"A")="'" & frormat(.cells(i,"A"),"yyyy-mm-dd") 'forma date américaine
             .cells(i,"B") ="'" & array("False"),"True")(abs(.cells(l,"B"))  'Faux/Vrai Booléens américain 
             .cells(i,"D")="'" & frormat(.cells(i,"D"),"#0.00") ' nombre américain 
     
          next
    *
    End with
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  10. #10
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    je suis sans doute novice, mais goinfre, c'est quoi ?

    Merci Dysorthographie

  11. #11
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    Bonsoir,
    les données à mettre au format américain se trouvent en AJ:
    With Range("AJ1").CurrentRegion
    For i = 4 To 1500
    .Cells(i, "AJ") = "'" & Format(.Cells(i, "AJ"), "#0.00")
    Next i
    End With

    Malheureusement le format reste 0,00

  12. #12
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    ..pas d'autre idée ?

  13. #13
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    ...sais pas ?

  14. #14
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    3 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 3 770
    Points : 7 671
    Points
    7 671
    Billets dans le blog
    17

    Par défaut

    Citation Envoyé par Polygos Voir le message
    Bonjour
    et les dates au format américain 2017-06-15

    Merci de votre partage d'expérience.
    Faux, faux, faux, et faux. Ce n'est pas le format américain. C'est le format ISO.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    À force de vouloir considérer les utilisateurs comme des imbéciles patentés, on risque de se mettre dans le trouble.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  15. #15
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 717
    Points : 2 906
    Points
    2 906

    Par défaut

    Bonjour,

    Désolé si goinfre n'est pas reconnu par Excel!

    Je n'arrive pas inhiber la suggestion automatique et pourtant j'ai testé dans excel avant de faire un copier coller! Par exemple si j'écris sql ca devient sal!

    Je fais moins de fautes avec mais ce que j'écris est incompréhensible!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With range("A1").currentregion
          for i = 2 to .rows.count
             .cells(i,"A")="'" & frormat(.cells(i,"A"),"yyyy-mm-dd")
             .cells(i,"B") ="'" & array("False"),"True")(abs(.cells(l,"B"))  'Faux/Vrai
          next
    End with
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  16. #16
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    Citation Envoyé par clementmarcotte Voir le message
    Faux, faux, faux, et faux. Ce n'est pas le format américain. C'est le format ISO.
    bonjour !
    bien, mais ça change quoi ? une idée ?

  17. #17
    Membre émérite Avatar de Daranc
    Homme Profil pro
    Technicien Métroogie R&D
    Inscrit en
    janvier 2007
    Messages
    1 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métroogie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 463
    Points : 2 262
    Points
    2 262

    Par défaut

    si tu as une virgule au lieu d'un point c'est que tes option régionales sont avec la virgule le point du VBA doit être converti automatiquement,
    si dans les options régionales tu met le point comme séparateur décimal il te mettra le point.
    mais si la virgule t'es indispensable pour d'autre programme essaies Ctrl H premier champ "," deuxième champ "."
    tes nombres vont effectivement être mis en texte et passer à gauche de la cellule.
    mais quelqu'un avec les options régional "." devrait avoir des nombre pour les 15 decimales ça c'est le miracle des conversion Excel : si ton nombre est affiche à deux décimales rien ne dit qu'il tombe juste alors exceller garde une flopée de décimales cachées ce qui n'est pas le cas pour du texte tu peux vérifier ça en faisant un calcul aui format affiché ( mais cette opération n'est pas réversible)
    Cordialement
    Daranc

  18. #18
    Membre à l'essai Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2016
    Messages : 65
    Points : 19
    Points
    19

    Par défaut

    Citation Envoyé par dysorthographie Voir le message
    Bonjour,

    Désolé si goinfre n'est pas reconnu par Excel!

    Je n'arrive pas inhiber la suggestion automatique et pourtant j'ai testé dans excel avant de faire un copier coller! Par exemple si j'écris sql ca devient sal!

    Je fais moins de fautes avec mais ce que j'écris est incompréhensible!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With range("A1").currentregion
          for i = 2 to .rows.count
             .cells(i,"A")="'" & frormat(.cells(i,"A"),"yyyy-mm-dd")
             .cells(i,"B") ="'" & array("False"),"True")(abs(.cells(l,"B"))  'Faux/Vrai
          next
    End with
    Bonjour Dysorthographie, vu pour les formats de date et logique, mais pour les nombres, j'ai essayé et ça ne fonctionne pas, je conserve la ",", soit 0,00:


    "les données à mettre au format américain se trouvent en AJ:
    With Range("AJ1").CurrentRegion
    For i = 4 To 1500
    .Cells(i, "AJ") = "'" & Format(.Cells(i, "AJ"), "#0.00")
    Next i
    End With

    Malheureusement le format reste 0,00"..


    A ton avis ?

  19. #19
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 717
    Points : 2 906
    Points
    2 906

    Par défaut

    et ça .cells(i,"D")="'" & frormat(.cells(i,"D"),"#0.00")' nombre américain ca ne fonctionne pas?
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  20. #20
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 035
    Points : 26 776
    Points
    26 776

    Par défaut

    Salut,

    une lecture qui tombe a point
    http://jpcheck.developpez.com/tutori...international/
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [LibreOffice][Texte] Changer le format des nombres décimaux
    Par dré kam dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 04/06/2015, 02h01
  2. Format des nombres décimaux
    Par karnass dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2013, 14h13
  3. Réponses: 4
    Dernier message: 10/09/2012, 11h38
  4. Comment formater des nombres décimaux ?
    Par Niguilouti dans le forum JavaScript
    Réponses: 6
    Dernier message: 05/11/2009, 16h20
  5. Réponses: 3
    Dernier message: 03/08/2007, 09h06

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