XL 2016 Créer format personnalisé pour milliers, millions, milliards

Etoto

XLDnaute Barbatruc
Bonjour,

Pour un fichier j'essaie de trouver comment faire un format personnalisé qui ferait cela :

1000 = 1 K
1500 = 1.5 K
1050 = 1.05 K
265000 = 2.65 M
999951 = 999.951 M
1000000000 = 1 B
etc.

Je sais que c'est possible mais je n'ai pas réussi à trouver ma solution sur le Web.
 
Solution
Ça dirait quoi en VBA ?
Cette fonction qui fait exactement la même chose que la formule précédente :
VB:
Function Milliers(x As Double) As String
Dim tablo(1 To 5, 1 To 2)
tablo(1, 1) = 1
tablo(2, 1) = 1000: tablo(2, 2) = "K"
tablo(3, 1) = 1000000: tablo(3, 2) = "M"
tablo(4, 1) = 1000000000: tablo(4, 2) = "B"
tablo(5, 1) = 1000000000000#: tablo(5, 2) = "T"
With Application
    Milliers = x / .Lookup(x, .Index(tablo, , 1)) & .VLookup(x, tablo, 2)
End With
End Function

job75

XLDnaute Barbatruc
Ça dirait quoi en VBA ?
Cette fonction qui fait exactement la même chose que la formule précédente :
VB:
Function Milliers(x As Double) As String
Dim tablo(1 To 5, 1 To 2)
tablo(1, 1) = 1
tablo(2, 1) = 1000: tablo(2, 2) = "K"
tablo(3, 1) = 1000000: tablo(3, 2) = "M"
tablo(4, 1) = 1000000000: tablo(4, 2) = "B"
tablo(5, 1) = 1000000000000#: tablo(5, 2) = "T"
With Application
    Milliers = x / .Lookup(x, .Index(tablo, , 1)) & .VLookup(x, tablo, 2)
End With
End Function
 

Pièces jointes

  • Milliers VBA(1).xlsm
    16.3 KB · Affichages: 11

Etoto

XLDnaute Barbatruc
Cette fonction qui fait exactement la même chose que la formule précédente :
VB:
Function Milliers(x As Double) As String
Dim tablo(1 To 5, 1 To 2)
tablo(1, 1) = 1
tablo(2, 1) = 1000: tablo(2, 2) = "K"
tablo(3, 1) = 1000000: tablo(3, 2) = "M"
tablo(4, 1) = 1000000000: tablo(4, 2) = "B"
tablo(5, 1) = 1000000000000#: tablo(5, 2) = "T"
With Application
    Milliers = x / .Lookup(x, .Index(tablo, , 1)) & .VLookup(x, tablo, 2)
End With
End Function
Wawwwww ! C''est encore mieux vu qu'il y a lus besoin d'avoir une plage de référence au RECHERCHEV. Parfait !
 

Discussions similaires