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 :

format nombre, unité variable [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Par défaut format nombre, unité variable
    Bonjour,

    Dans une macro VBA je cherche à appliquer un format à un nombre, avec une unité, sachant que cette dernière n'est pas toujours la même.

    Je pense que ça doit être un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim a As String
    a = Range("D6").Value
        Range("C11").Select
        Selection.NumberFormat = "0.00" & a & ""
    mais ça ne fonctionne pas, il me met :
    erreur 1004 : impossible de définir la propriété number format de la classe range

    ou le a correspond à l'unité (en chaine de caractères)
    ceci est un exemple, après je me débrouille pour mettre ce que je veux dans le a, mais j'aurais voulu savoir si quelqu'un aurait une idée ?

    Merci!

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Beh oui...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Range("C11").Select
        Range("C11") = Range("D6")
        Selection.NumberFormat = "0.00"
    Mais ce n'est peut-être pas ce que tu cherche ? explique un peu ce que tu veux mettre dans 'a'
    A+

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Chez moi ça fonctionne
    par contre je ne vois pas l'intérêt de : & ""
    à la fin du format

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Par défaut
    merci messieur,

    alors dans a je met sois Tonne ou kg ou encore litres...

    par contre ta méthode Leforestier me remplace mon nombre de la case C11 par l'unité..
    ce que je veux c'est, par exemple, écrire '4 litres' sachant que ça pourrait être kg ou Tonne, selon d'autres paramètres.
    c'est pour ça que je voudrais pouvoir rentrer l'unité dans une variable, en chaîne de caractères, puis pouvoir appliquer à mon nombre le bon format (avec l'unité qu'il faut donc)

    JpierreM ça fonctionne chez toi ? si dans D6 tu mets litres, et que dans C11 tu as un nombre (ex : 6.235) il te met 6.25 litres ?

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    essayes ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C11") = format(Range("D6"),"#0.00 kg")
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    Salut jeyjey

    je te propose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "0.00 " & a
    salut

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    Et modifie ton en et ca devrait marcher

  8. #8
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    re tout le monde,
    je pensais aussi un truc à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub essai()
    Dim a As String, formatnom As String
    a = "kg": formatnom = "#0.00 "
    Range("C11") = Format(Range("D6"), formatnom & a)
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Par défaut
    merci, mais ça ne fonctionne pas

    j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim a As String
        a = Range("D6").Text
        Range("C11").Select
        Selection.NumberFormat = "0.00 " & a
    mais j'ai tjr l'erreur

    et ta méthode casefyre me remplace C11 par l'unité
    après je sais je me suis peut être mal expliqué (j'ai fait une modif de mon dernier message)

    je cherche en fait à appliquer la bonne unité à un chiffre, les unités possibles se trouvant dans des cases

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/01/2024, 15h32
  2. format nombre, unité variable
    Par paidge dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/09/2010, 14h57
  3. Format d'une variable
    Par pmboutteau dans le forum ASP
    Réponses: 2
    Dernier message: 22/03/2005, 11h16
  4. Réponses: 6
    Dernier message: 14/02/2005, 11h53
  5. [Format]nombres avec des 0
    Par zozolh2 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 01/06/2004, 08h43

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