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: 5

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: 8

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,
 

Fouineur44

XLDnaute Nouveau
bonjour Nikholas

je sais que je déterre un peu (1 an c'est rien ;-)) ) mais j'ai exactement le même souci....

j'ai essayé de créer une macro avec ton code, mais vu que je suis une quiche en VBA...

Serais tu par hasard en ligne ces temps ci avec quelques éclaircissements... ?

Merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko