Format de cellule impossible a convertir

Bonjour,

J'ai un probleme avec les nombres de ma colonne D (voir exemple en PJ) . Il s'agit de donnees provenant du Web,que j'ai copie/colle. J'aimerais pouvoir effectuer des calculs avec ces donnees. Malheureusement, le format n'est pas pris en compte.

Je ne pense pas que ces donnees soient au format texte car je n'ai pas de message d'erreur, j'ai essaye les methodes de conversion de format texte a nombres, sans succes. J'ignore qu'elle est ce format et comment le changer.

J'ai beaucoup de donnes de ce genre a traiter, si quelqu'un pouvait m'apporter une solution, je lui en serais extremement reconnaissant, je suis un peu desespere par ce probleme...

merci beaucoup pour votre aide

22exempleformat.xlsx (13.83 Ko)

Bonjour

Avec une petite macro la conversion se fait.

46exempleformat.zip (11.73 Ko)

Genial ! merci beaucoup , pourriez vous m'expliquer comment reproduire cette macro ? Je suis completement neophite dans le domaine des macros...

Si le fichier originale n'est pas trop gros joignez-le et on adaptera la macro en conséquence

Sinon, je me vois mal faire un cours de VBA alors que je suis novice mais bon...

Sub Macro1()

Dim dl As Long

Dim i As Integer

dl = Sheets("Sheet1").Range("a" & Rows.Count).End(xlUp).Row

--> J'identifie la dernière ligne non vide de la colonne A (afin de faire ensuite une boucle de la première ligne non vide à la derniere ligne non vide)

Cells.Replace What:="$", Replacement:="", LookAt:=xlPart, SearchOrder:= _

xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Le bloc du dessus spécifie que je recherche tous les $ et je les remplace par rien ("") et je fais idem pour les points qui sont remplacés par des virgules

For i = 1 To dl

-->Je dis que pour la ligne 1 (i=1) jusqu'à la dernière ligne non vide (calculée plus haut dans la variable dl)

Sheets("Sheet1").Range("d" & i).Value = Sheets("Sheet1").Range("d" & i).Value * 1

--> La cellule D1 = La cellule D1 multiplié par 1 (c'est une technique qui permet de convertir un nombre en format lettre en chiffre)

Next

--> Je passe ensuite au i suivant. (Pour rappel : on a spécifié plus haut que i commencait à 1 et qu'il se finissait à la dernière ligne

End Sub

--> une fois que tous les i ont été passé en revue la boucle et terminée et la macro est intérrompue.

(en esperant que vous avez compris au moins la moitié des choses...)

J'ai copie/colle la macro dans un autre fichier ca marche tres bien. Je viens de remarquer en revanche que la macro ne reproduit pas la virgule au bon endroit . Le nombre 945.43 par exemple donne 94543 apres conversion. Existe t'il un moyen pour definir la place de la virgule dans une macro?

merci encore

Vous pouvez envoyer le fichier ?

J'ai fait le test avec 3,4,5 chiffre après la virgule et je n'ai pas eu d'erreur.

En PJ le fichier sur lequel j'ai fait le copie/colle , sur la colonne I les chiffres originaux et en G la conversion

27exempleformat2.xlsx (19.55 Ko)

c'est bon j'ai trouve , en fait comme je travaille au Etat-Unis j'ai besoin de garder les points qui sont des virgules , j'ai donc juste supprimer la macro qui disait de remplacer les points par des virgules et ca marche nickel!

merci beaucoup pour votre aide! Je vais economiser enormement de temps grace a vous!

Bonne continuation

Pareillement mais je n'ai pas fait grand chose, vous avez vous même trouvé la solution.

Rechercher des sujets similaires à "format impossible convertir"