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 :

Problème format numérique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Par défaut Problème format numérique
    Bonjour, voilà mon souci, j'ai valeur que j'ai récupéré sous ce format :

    48,646.00

    le problème est de le convertir en nombre afin de pouvoir faire un calcul avec cette valeur, car j'ai essayer de supprimer la virgule mais le nombre dans la cellule est à gauche et il faut que je clique sur la cellule pour qu'il se replace à droite comme un nombre, et j'aimerai éviter d'avoir à intervenir manuellement sur chaque cellule.

    Voilà, merci d'avance pour vos réponses

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    c'est simple tu choisis le format sur toutes les cellules
    donc tu cliques sur la colonne et choisis le format de cellule

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Par défaut
    ben en fait non ce n'est pas si simplecar je veux ce format là
    0.00
    et même si je sélectionne les cellules et que je mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Cells.Select
    Selection.NumberFormat = "0.00"
    cela ne change rien

  4. #4
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour à tous

    Voici une macro, tu la lies à un bouton et avant de cliquer le bouton tu selectionnes la plage à traiter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Bouton1_QuandClic()
        Dim cel As Range
        For Each cel In Selection
            cel = cel * 1
            cel.NumberFormat = "0.00"
        Next cel
    End Sub
    Bonne journée

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    Bonjour,

    C'est normal que ton NumberFormat ne fonctionne pas. Excel considère ton 48,646.00 comme du texte.

    Une solution pour transformer 48,646.00 en format nombre c'est :
    - supprimer la virgule (Edition => Remplacer => , par rien)
    - transformer le point en virgule (idem, . => ,)

    Normalement à ce moment tu obtiens une valeur numérique dans ta cellule : 48646. Il ne reste qu'à modifier cette fois le format, et à afficher en 0.00.

    En code ca donne ca (fait à l'enregistreur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Range("A1").Select
        Cells.Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder:= _
            xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        Selection.NumberFormat = "#,##0.00"

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Par défaut
    En suivant le code ci-dessus, aprsè le lancement de la macro :

    Pour la valeur du dessus cela donne bien 48646,00 et il se situe à droite de ma cellule et est pris en compte lors du traitemant suivant qui doit additionner les valeurs par contre si j'ai une valeur du genre 38652,25 (avant conversion 38,652.25), la valeur reste à gauche et n'est pas pris en compte dans le traitement suivant.J'ai ce problème qu'avec les nombres qui avaient das chiffres après la virgule.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    J'ai re-testé avec 38,652.25, ca marche de mon côté. Tu as quelle version d'Excel ?

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 11/05/2009, 15h01
  2. [Access 97]Problème format numérique export Excel
    Par waici dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 03/04/2008, 09h52
  3. Réponses: 5
    Dernier message: 14/12/2007, 15h06
  4. Problème Format Numérique lors d'import txt
    Par clemasson dans le forum Access
    Réponses: 3
    Dernier message: 11/10/2006, 11h31
  5. Réponses: 2
    Dernier message: 21/06/2005, 16h37

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