Convertir en nombre des nombres stockés sous forme de texte

Bonjour,

J'ai un tableau de données Excel comportant des nombres et du texte (cf pièce jointe). Le fichier a été généré par un autre logiciel.

Pour la plupart des cellules, Excel indique qu'il s'agit de "Nombre stocké sous forme de texte", et affiche en haut à gauche de la cellule un triangle vert.

Je cherche à automatiser à l'aide d'une macro l'action "Convertir en nombre" disponible quand on clique sur le point d'exclamation qui apparait quand on sélectionne les cellules.

J'ai trouvé sur un forum la macro suivante:

Sub TexteEnChiffre()
        With Range("A9:M40")
            .NumberFormat = "0"
            .Value = .Value
        End With
End Sub

Le problème c'est que mes nombres n'ont pas tous la même précision: certains n'ont pas de décimales, certains en ont une, certains deux. Je souhaite garder cette différence de précision.

La fonction TextToColums fonctionne mieux mais je n'ai pas réussi à l'appliquer sur une plage de cellules.

Peut-être avec CDbl?

Si vous avez des suggestions...

En vous remerciant par avance!

Bonne journée.

154exemple.xlsx (11.50 Ko)

Bonjour

Essaie ce code :

    For Each C In Range("A9:M40")
        C.Value = C.Value * 1
    Next C

Bye !

Bonjour,

Ce code fonctionne pour les cases contenant uniquement des nombres (ce qui est plutôt logique), mais comme mon tableau provient d'un logiciel de reconnaissance optique de caractère, certaines cases sont du texte (présence d'un S à la place d'un 8, d'un i à la place d'un 1...). La macro s'arrête dès qu'elle rencontre une case contenant du texte ("Erreur d'exécution '13': Incompatibilité de type).

Rechercher des sujets similaires à "convertir nombre nombres stockes forme texte"