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 :

concatener des nombres dans un format précis [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut concatener des nombres dans un format précis
    Bonjour membre du forum,

    Je tente de concatener plusieurs champs d'une même ligne, certains contiennent des caractères numériques et d'autres du alphanumérique.

    Sous VB, j'utilise la formule qui suit pour concatener mes champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cell.Offset(0, -1).Value = _
           "=text(RC[1],""00"") & RC[2] & TEXT(RC[3],""0000000"")
    Voici un exemple de mes colonnes avec à gauche le champ concatener "Désiré"

    Résultat_______Valeur1____Valeur2___Valeur3
    10bla0000000____10_______bla_________0
    20bla0001600____20_______bla________16
    30bla0001550____30_______bla_______15,5
    27bla0022055____27_______bla_____220.55

    Bref, dans mon champ cumulé à gauche, ma valeur 3 doit toujours avoir 7 caractères sans virgule et les deux derniers chiffres doivent être les décimales. Présentement, le résultat que j'aurais avec ma formule arrondi les valeurs avec décimales et ne me permet pas de différencier la valeur 16 de 15.6 par exemple.

    J'ai tenté de transformer manuellement les données de la valeur 3 pour obliger d'avoir des virgules en faisant une recherche avec instr pour trouver ceux qui n'ont pas de virgule et en ajouter une manuellement du genre(cell.Value = cell.Value & ",00"). Ensuite je me disais que je pourrais faire recherche et remplace pour retirer les virgules et ne conserver que les chiffres. Cependant, Excel ne considère même pas ces nouvelles virgules lorsque je tente de les rechercher.

    Donc si vous pouviez me donner un coup de main, ce serait super apprécié

    Merci à tous

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("Feuil3").Range("A1:A4") 'à adapter
        .FormulaR1C1 = "=Text(RC[1],""00"") & RC[2] & LEFT(TEXT(SUBSTITUTE(SUBSTITUTE(RC[3],""."",""""),"","",""""),""0000000""),7)"
        .Value = .Value
    End With
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour projekx, bonjour mercatog,

    De mon coté, je trouve le résultat avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .FormulaR1C1 = "=TEXT(RC[1],""00"") & RC[2] & TEXT(SUBSTITUTE(RC[3],""."","","")*100,""0000000"")"
    Cordialement.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    @Mercatog
    Malheureusement, ça ne fonctionne pas. Les nombres entiers n'ont pas de décimales et les montants avec une décimale après la virgule n'ont pas de deuxième décimale.

    Meric pour l'essai.

    @gFZT82
    C'est super !!!
    Ça fonction A1

    Merci infiniment

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

Discussions similaires

  1. [XL-2010] Format des nombres dans un Label d'un UserForm
    Par eric4459 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/09/2014, 13h04
  2. [Lazarus] Format des nombres dans TDBEdit,TDBText
    Par chlubister dans le forum Lazarus
    Réponses: 1
    Dernier message: 14/05/2007, 17h26
  3. Réponses: 11
    Dernier message: 01/08/2006, 05h15
  4. Select sur des nombre décimaux de format 0.*
    Par CanardJM dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/08/2005, 16h04
  5. Utilisation des nombres dans Winsock2
    Par DeusXL dans le forum MFC
    Réponses: 14
    Dernier message: 01/12/2004, 17h36

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