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

  • Initiateur de la discussion Initiateur de la discussion Etoto
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Etoto

XLDnaute Barbatruc
Supporter XLD
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
Ç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

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 !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
5 K
Retour