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 :

Conversion d'une sélection de cellules en nombres


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 522
    Par défaut Conversion d'une sélection de cellules en nombres
    Bonjour,

    Dans ma sélection j'ai 3 cellules en colonnes sous forme de chaines :
    45 140,95
    2 005,92
    1 707,77

    Je voudrais faire une macro qui transforme cette sélection en nombres:

    45140,95
    2005,92
    1707,77

    L'élimination des espace fonctionne bien, mais je n'arrive pas à transformer les chaines en nombres.
    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False
        Selection.NumberFormat = "0,00"
    Mais sans succès
    Quelqu'un pourrait il m'aider ?

    Merci

    A+
    Charly

    PS je suis en Excel 2000 (!!)

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour Charly,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "#,##0.00"

  3. #3
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 522
    Par défaut
    Merci Révèr,

    mais cela ne fonctionne pas non plus, la macro me renvoie :

    45140,95
    2005,92
    1707,77

    mais cadrés à gauche et quand je veux faire la somme des 2 cellules j'ai 0,00

    A+
    Charly

  4. #4
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Je ne sais pas s'il peut exister une différence avec la version 2000 d'Excel. Néanmoins, tu as oublié de préciser dans la création de ton poste. Tu as une liste déroulante avec les versions d'Excel, je ne saurai que te conseiller de lire le sujet qui a été épinglé dans le forum à cet effet.

    La solution de Menhir pourra peut-être te convenir, en tout cas comme précisé dans mon derneir message. Cette manière d'écrire le Numberformat fonctionne parfaitement dans mon cas.

  5. #5
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 522
    Par défaut
    Bonjour Menhir,

    ta solution me renvoie :

    45*140.95
    2*005.92
    1*707.77

    cadrés à gauche et la somme des 3 cellules et toujours 0,00

    A+
    Charly

  6. #6
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Dans ce cas, essaie une combinaison des 2 pour retirer l'espace et garder la virgule ?

  7. #7
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 522
    Par défaut
    Désolé, c'est ma première demande sur le forum Excel, je n'avais pas vu la liste déroulante mais j'avais indiqué Excel 2000 dans mon post. Est ce qu'il faut indiquer autre chose ?

    A+
    Charly

  8. #8
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    c'est déconseillé selon les regles du forum mais je crois que pour aller direct au but ..peux tu joindre un petit fichier test sans macro ni données confidentielles

  9. #9
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Indiquer la version d'Excel permet de prendre en compte des fonctionnalités existantes ou non.

    Je n'ai pas réussi à reproduire la même erreur que toi. Cela étant dit, j'ai déjà été confronté à ce problème. Essaie d'écrire un nombre décimal dans une cellule et regarde la manière dont est faite la syntaxe.

    Par ailleurs, si cette variable est une valeur monétaire tu peux aussi utiliser la fonction "CCur" qui la transformera en valeur monétaire.

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Le problème, c'est que VBA considère que la "," est un séparateur de milliers et non de décimales.
    A la limite, il vaudrait mieux faire ça "à la main" avec la commande Remplacer puisque Excel comprendra mieux que VBA ce format "à la française".

    Idem pour la "," placée dans le NumberFormat.

    Si tu tiens à la faire en VBA, essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False
        Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False
        Selection.NumberFormat = "# ##0.00"

  11. #11
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour Menhir,

    De mon côté, le NumberFormat = "#,##0.00" fonctionne très bien

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

Discussions similaires

  1. Conversion d'une sélection de cellule Excel en plage VBA
    Par vynmarius dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2019, 16h21
  2. Impression d'une sélection de cellules en recto verso
    Par jaihna dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/11/2013, 10h58
  3. [XL-2010] Appliquer une macro sur une sélection de cellule
    Par Fireblade51 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/04/2013, 10h59
  4. Impression PDF d'une sélection de cellules
    Par d0n32 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/11/2011, 17h53
  5. Réponses: 3
    Dernier message: 26/09/2006, 11h33

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