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

Excel Discussion :

Milli, micro, kilo, mega


Sujet :

Excel

  1. #1
    Membre régulier Avatar de AurelieB
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 100
    Points
    100
    Par défaut Milli, micro, kilo, mega
    Bonjour

    Je cherche un moyen pour qu'une cellule excel contienne une valeur et m'en affiche une autre, par exemple C1 vaut 0.00003 mais m'affiche 30µ, D1 vaut 5000 mais affiche 5k.
    Tout ceci pour que l'affichage soit clair et compact mais la valeur reelle.
    Jusqu'a present je suis oblige d'ecrire le nombre en µ mais quand je veux l'utiliser dans une formule je dois le multiplier par 0.000001, du coup c'est la formule qui est illisible.
    Merci pour vos conseils.

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Utilise ce qu'on appelle un format scientifique.
    Ce format transforme tout nombre en un nombre avec un chiffre devant la virgule, autant de chiffres que tu demandes après la virgule suivi d'un E avec une puissance de 10.

    Les deux exemples que tu as donné deviendront ainsi : 3E-5 et 5E3, ce qui signifie 3 x 10^-5 et 5 x 10^3.

    Tu peux accéder à cette notation par :
    Clic droit > Format de cellule > Nombre > Scientifique > Tu définis le nombre de chiffre après la virgule que tu souhaites

    Le problème de cette méthode, c'est qu'elle te donnera un nombre fixe de chiffres après la virgule, ce qui peut te donner, selon les cas, soit des 0 inutiles, soit une valeur tronquée de quelques décimales.

    Je te conseille donc plutôt de faire
    Clic droit > Format de cellule > Nombre > Personnalisé > Tape dans la case Type : 0,######E+#0

    Avec ça, tu auras autant de précision que Excel peut t'en donner.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    Bonjour Aurelie,

    J'ai également pensé à une solution qui vaut ce qu'elle vaut....

    Imaginons :
    - tu saisis tes valeurs décimales en colonne A (on va dire A1 pour mon exemple), tu mets le texte en blanc pour qu'il ne soit pas visible.
    - en colonne B (B1 pour mon exemple), tu saisis la formule suivante : =A1*1000000 & " µ", là tu auras un affichage en micron
    - dans tes formules qui font des calculs, tu utilises la colonne A et non la B, la B ne te servant que d'affichage

    A1 B1
    0,000013 13 µ

  4. #4
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par LG-69 Voir le message
    - en colonne B (B1 pour mon exemple), tu saisis la formule suivante : =A1*1000000 & " µ", là tu auras un affichage en micron
    Autre méthode dans le même esprit : mettre dans cette cellule simplement la formule =A1*1000000
    Et lui mettre comme format # ##0,###" µ"
    Comme ça, la cellule conserve ses vertus numériques (même si, dans ce cas précis, ça ne sera pas utilisé comme tel).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre régulier Avatar de AurelieB
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 100
    Points
    100
    Par défaut
    Merci pour les reponses mais j'ai une telle quantite de donnees dans ma feuille que ca ne m'arrange pas particulierement de devoir doubler systematiquement toutes les colonnes.
    Je penserais plutot dans la direction d'une fonction du type f(valeur, unite) qui detecterait l'echelle de l'argument 'valeur': milli pour 0.00x, mega pour xxxxxx.0, etc... , suivi de l'unite Volt pa exemple.
    On appliquerait cette fonction sur des cellules existantes et elle ferait la conversion.
    a suivre.

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, trouvé sur le web US, à adapter à ton contexte en fonction personnalisée, mais la base est là. Je n'ai pas vérifié la validité de cette fonction et t'en laisse le soin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Option Explicit
     
    Function MySciPre(BaseNum As Double, Unit As String) As String
    Dim OrigNum As Double
    Dim Pref As Integer
    Dim Temp As String
     
        Pref = 0
        OrigNum = BaseNum
        Select Case BaseNum
            Case Is >= 1
                While Abs(BaseNum) > 1000
                    BaseNum = BaseNum / 1000
                    Pref = Pref + 1
                Wend
            Case 0
                Pref = 99
            Case Else
                While Abs(BaseNum) < 1
                    BaseNum = BaseNum * 1000
                    Pref = Pref - 1
                Wend
        End Select
     
        Select Case Pref
            Case -6
                Temp = "atto" & Unit
            Case -5
                Temp = "femto" & Unit
            Case -4
                Temp = "pico" & Unit
            Case -3
                Temp = "nano" & Unit
            Case -2
                Temp = "micro" & Unit
            Case -1
                Temp = "milli" & Unit
            Case 0
                Temp = Unit
            Case 1
                Temp = "kilo" & Unit
            Case 2
                Temp = "mega" & Unit
            Case 3
                Temp = "giga" & Unit
            Case 4
                Temp = "tera" & Unit
            Case 5
                Temp = "peta" & Unit
            Case 6
                Temp = "exa" & Unit
            Case Else
                Temp = ""
        End Select
     
        If Len(Temp) > 0 Then
            Temp = LCase(Temp)
            Temp = UCase(Left(Temp, 1)) & Mid(Temp, 2)
            If Abs(OrigNum) <> 1 Then Temp = Temp & "s"
        End If
     
        MySciPre = Temp
    End Function

  7. #7
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par AurelieB Voir le message
    Merci pour les reponses mais j'ai une telle quantite de donnees dans ma feuille que ca ne m'arrange pas particulierement de devoir doubler systematiquement toutes les colonnes.
    La première solution que je t'ai donnée ne double pas les valeurs.

    Je penserais plutot dans la direction d'une fonction du type f(valeur, unite) qui detecterait l'echelle de l'argument 'valeur': milli pour 0.00x, mega pour xxxxxx.0, etc... , suivi de l'unite
    Excel ne gère pas les unités, à quelques rares exceptions près (temps, monnaie)
    Ce que tu demandes n'existe pas en standard.
    La seule solution serait de passer par une macro en VBA.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre régulier Avatar de AurelieB
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 100
    Points
    100
    Par défaut
    Merci les amis.
    Je n'ai pas trop d'experience dans l'utilisation de fonctions personnalisees et c'est p-e l'occasion de m'y mettre. C'est surement ca la solution bien que je sois etonne que excel ne l'ait pas prevu car ca m'a l'air tres utile.

  9. #9
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    C'est faisable par format de nombre si pas plus de 3 cas (exemple Ko, Mo, Go).

    Mais si je comprends bien on à micro, milli, unité, kilo, mega soit cinq cas...

    On peut créer 2 formats de nombre et combiner avec une MCF.

    Edit : erreur de ma part car pour les formats de nombres on peut diviser pour obtenir des K, M ou G, mais pas multiplier pour obtenir µ ou mm...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

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

Discussions similaires

  1. Créer une SARL/EURL/Micro entreprise ?
    Par Blade dans le forum Société
    Réponses: 19
    Dernier message: 05/01/2012, 14h18
  2. Entrée micro de la carte son
    Par Jean-Michel RIVIERE dans le forum DirectX
    Réponses: 12
    Dernier message: 17/10/2007, 11h26
  3. Réponses: 6
    Dernier message: 09/04/2007, 16h52
  4. Question mega basique
    Par Tr@nkill dans le forum ASP
    Réponses: 9
    Dernier message: 11/05/2005, 08h32

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