Voila j'ai la possibilité de récuperer des valeurs pour une liste de joueurs sous cette forme :
306.18K
687.59K
113.08K
202.03K
447.95K
170.93K
110.39K
775.24K
1.08M
11.18K
497.34K
5.37K
Le problème c'est que pour faire un tri c'est très compliqué.
J'aimerai donc savoir comment transformer un 306.18k en 306180 et un 1.08M en 1080000.
Pouvez vous m'aider? J'ai regardé avec la fonction recherche et remplace mais si je fais un remplace k par 000 je suis donc a 306.18000 ca ne donne pas la valeur reel.
Merci pour votre aide. A savoir que je souhaite faire sa sous google sheet si possible donc sans vba.
soit, si votre système utilise le point comme séparateur décimal : =SI(DROITE(A1;1)="K";CNUM(GAUCHE(A1;NBCAR(A1)-1))*1000;SI(DROITE(A1;1)="M";CNUM(GAUCHE(A1;NBCAR(A1)-1))*1000000;A1))
et si votre système utilise la virgule comme séparateur décimal :
=SI(DROITE(A1;1)="K";CNUM(SUBSTITUE(GAUCHE(A1;NBCAR(A1)-1);".";","))*1000;SI(DROITE(A1;1)="M";CNUM(SUBSTITUE(GAUCHE(A1;NBCAR(A1)-1);".";","))*1000000;A1))
Bonjour à tous gortex3D(le relire) ne parle pas de transposer dans d'autres cellules, mais de transformer in situ.
L'utilisation de VBA, dans un tel cas, s'avèrera nettement plus avantageuse et légère que celle de formules dans une plage "tremplin" (pour y "calculer" des résultats qu'il faudrait ensuite copier - par écrasement - dans la plage source avant de supprimer la plage tremplin !) Exemple de traitement des cellules de la plage A1:B10 :
VB:
For Each C In Range("A1:B10")
Select Case Right(C.Value, 1)
Case "M"
C.Value = Val(C.Value) * 1000000
Case "K"
C.Value = Val(C.Value) * 1000
End Select
Next
La formule proposée en "#3" semble donner le bon résultat.
Edit: Bonjour jmfmarques , notre ami n'a pas demandé un code VBA pour transformer directement dans la cellule source donc la formule de conversion fait, je pense, la transformation des données d'origine. " J'ai regardé avec la fonction recherche et remplace mais si je fais un remplace k par 000 je suis donc a 306.18000 ca ne donne pas la valeur reelle"
On peut peut-être faire plus court:
La formule proposée en "#3" semble donner le bon résultat.
Edit: Bonjour jmfmarques , notre ami n'a pas demandé un code VBA pour transformer directement dans la cellule source donc la formule de conversion fait, je pense, la transformation des données d'origine. " J'ai regardé avec la fonction recherche et remplace mais si je fais un remplace k par 000 je suis donc a 306.18000 ca ne donne pas la valeur reelle"
On peut peut-être faire plus court:
Ca marche super bien et j'ai compris pourquoi j'ai un soucis pour l'intégrer dans mes resultats.
En réalité devans mon
1.08M
11.18K
j'ai un espace de présent. Forcement ca bloque les formules. Si je le supprime 1 à 1 pas de soucis.
Y aurait il un moyen pour modifier la formule et dire si il y a un espace devant le supprimer ?
Bonjour,
Vérifiez bien quel est le séparateur décimal qu'utilise votre version de Google Sheets (le point ou la virgule). Google Sheets n'utilise pas forcément le même séparateur décimal que votre version d'Excel (celle installée sur votre machine) ; en effet Sheets opérera dans la langue d'origine de l'abonnement dont il dépend. Il est donc très possible que, par exemple, votre machine utilise la virgule comme séparateur décimal (mode français donc) et que Google Sheets utilise le point (mode anglo-saxon).
Donc une formule qui marchera sur votre machine peut ne pas marcher sur Google Sheets et vice-versa. C'est pourquoi je vous ai proposé deux formules en post #3, basées sur une donnée "source" en A1. Essayez de recopier la première dans Sheets et, si elle ne fonctionne pas, essayez la deuxième. Lorsque vous aurez trouvé celle qui marche, vous pourrez la transposer partout où vous en avez besoin.
Cdlt
Ca marche super bien et j'ai compris pourquoi j'ai un soucis pour l'intégrer dans mes resultats.
En réalité devans mon
1.08M
11.18K
j'ai un espace de présent. Forcement ca bloque les formules. Si je le supprime 1 à 1 pas de soucis.
Y aurait il un moyen pour modifier la formule et dire si il y a un espace devant le supprimer ?
Bonjour,
Utilisez la fonction SUPPRESPACE.
par exemple => =SUPPRESPACE(lecontenudemacellule)
Donc, remplacez, dans les exemples du post #3 la valeur A1 par SUPPRESPACE(A1)