Remplacer un caractère en le cherchant sur le format

Bonjour,

J'ai un soucis concernant le format de mes cellules. Je vous donne un exemple, pour essayer d'être compréhensible :

La case contient la valeur "16", mais on voit à l'écran "0 016" (la case a un format personnalisé). J'aimerai avoir dans cette case la valeur "0.016". Avant de comprendre cette histoire de format j'ai longtemps cherché à remplacer les espaces par des points, sans succès bien entendu puisque la "vraie" valeur est 16 (sans espace, donc).

Y a-t-il un moyen de faire des remplacements sur le format et non sur la valeur d'une case?

Je dois faire cela avec une macro, car je travaille sur un grand nombre de fichiers. La solution de tout diviser par 1000 ne me semble pas optimale, car nécessite de rajouter des colonnes puis de couper/coller la valeur. Mais peut-être est-ce la seule.

Pour info, et c'est surement de là que vient le problème, je travaille sur des fichiers générés par un logiciel de reconnaissance optique de caractères.

Je vous joins un fichier pour exemple.

Merci de votre aide!

151963-36.xlsx (6.78 Ko)

La seule solution est de diviser par 1000... mais tu ne dois pas dupliquer colonnes... Il suffit de passer par une feuille tampon.

Sinon tu peux tester chacune de tes cellules, si elles detiennent le format puis faire ta division si et seulement si elles le detiennent puis repasser en standard à la fin...

Un exemple pour checker si A1 a le format que tu annonces

Sub toto()
If Sheets("Feuil1").Range("A1").NumberFormat = "0 000" Then
MsgBox ("oui")
End If
End Sub
Rechercher des sujets similaires à "remplacer caractere cherchant format"