Microsoft 365 supprimer espaces par vba et convertir en nombres

nikholas928

XLDnaute Nouveau
Bonjour à tous,

Je vous explique ma situation. J'ai un fichier avec plusieurs onglets qui comportent des nombres mais que je ne peux convertir en nombre seulement en supprimant l'espace manuellement (la fonction ctrl+h ne les détectant pas) puis l'option convertir en nombre apparait.
Le nombre d'onglet varie en fonction des fichiers.
Existe t'il une macro permettant de lui indiquer de supprimer tous les espaces de tous les onglets exclusivement dans les cellules contenant ces "nombres" en question puis de convertir toutes cellules en nombre ?
Je galère de mon côté pour la rédaction de la macro :/
Ou auriez-vous une solution plus simple ?

Je vous joins un exemple pour illustrer le problème.

Un grand merci pour votre aide !

Bonne fin de journée,
 

Pièces jointes

  • ADDC 02-05.xlsx
    30.1 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
Bonjour

à quel endroit exactement y a t il des espaces??
normalement le Ctrl F devrait pouvoir les remplacer par ""

sinon.. je vois que tes colonnes sont au format texte.. déjà. si tu les passais au format standard.. ca irait peut etre mieux?
 

nikholas928

XLDnaute Nouveau
En faite quand tu as la cellule avec les nombres il faut effacer l'espace au cas par en double cliquant sur la cellule en question par question et supprimer directement les espaces visible avec la touche suppr.
Malheureusement, j'ai déjà essayé de convertir en standard puis en nombre mais rien n'y fait.
Par exemple, regardes le fichier ci-joint la page 1, cellule en rouge. J'ai supprimé l'espace à la main et là j'ai simplement la possibilité de convertir en nombre.
La difficulté également c'est que ces fichiers n'affichent pas les numéros de lignes et colonnes comme un fichier de calcul classique...
Merci beaucoup à toi,
 

Pièces jointes

  • ADDC 02-05.xlsx
    31.2 KB · Affichages: 6

nikholas928

XLDnaute Nouveau
@mutzik Merci beaucoup pour ta réponse.
Alors la table ASCII me parle un peu mais cela s'arrête là de mon côté.
Du coup tu aurais une idée de macro pour dire de convertir tout les caractère 160 en 32 afin qu'il puisse se convertir en nombre directement ?
Merci à toi !
 

nikholas928

XLDnaute Nouveau
Alors j'ai un début de solution avec cette macro :
Sub ddc()

Dim o As Range
On Error Resume Next
For Each o In Selection
If Not o = "" Then o = o * 1
Next

End Sub

En sélectionnant au préalable les colonnes correspondantes que je souhaite convertir, cela fonctionne très bien pour un onglet.
Maintenant il faut ajouter une boucle je pense qui lui permette d'executer cette action à l'ensemble des colonnes sélectionnées sur l'ensemble des onglets du fichier.
Quelqu'un aurait-il une idée ?
Merci à vous,
 

Discussions similaires

Statistiques des forums

Discussions
312 934
Messages
2 093 736
Membres
105 803
dernier inscrit
metroMBP