VBA : caractère espace "bizarre" à remplacer par rien

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
Bonjour le forum,

je récupère des données depuis un fichier txt
et je voudrais transformer les nombres en ... nombres,
donc, je dois supprimer les espaces

Quand je fais rechercher espace remplacer par rien ça ne marche pas,
mais quand je copie le caractère qui semble être un espace dans la zone rechercher et que je remplace par rien, j'ai bien du numérique.

J'ai fait un enregistrement automatique de macro pour effectuer ce remplacement, mais il me prend un espace, ce qui ne marche pas.
le code du caractère bizarre est 160.

Comment créer une macro qui remplace ce caractère par rien (ou qui transforme les nombres texte en nonbres chiffres)?

Un très grand MERCI à vous, je joins mon fichier

Bises

C@thy
 

Pièces jointes

Dernière édition:
Re : VBA : caractère espace "bizarre" à remplacer par rien

j'ai essayé ceci :
Range("D2:I25").Select
For Each o In Selection
o.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart
Next

les "espaces" sont supprimés mais le nombre n'est pas un nombre😕

C@thy
 
Re : VBA : caractère espace "bizarre" à remplacer par rien

Bonjour, C@thy 🙂

Chez moi, les espaces sont bien supprimés.
Le problème ne viendrait-il pas plutôt de ton séparateur décimal ?
Remplace dans ce cas les virgules par des points 🙂
 
Re : VBA : caractère espace "bizarre" à remplacer par rien

Screugneugneu,

y'a rien qui marche

Code:
Range("D2:I25").Select
    For Each o In Selection
o.Value = Trim(Substitute(o, CHAR(160), """")) * 1
Next

tout ce que j'essaie fonctionne au niveau du remplacement, mais j'ai toujours du texte!
Damned!😡

Biz

C@thy
 
Re : VBA : caractère espace "bizarre" à remplacer par rien

Après moulte recherches, j'ai fini par trouver que ce caractère est un espace insécable
mais le schmilblick n'a pas avancé pour autant :

mon souci est le suivant :
le rechercher remplacer fonctionne à la main si je copie le caractère en question dans la zone rechercher et que je fais remplacer par rien,
j'obtiens bien un nombre (je veux par la suite faire des sommes avec ces nombres)

mais j'ai de nombreuses feuilles (je n'en ai mis que deux) à structure totalement identique,
donc le but, c'est vraiment de faire ça par macro... 🙁

C@thy
 
Re : VBA : caractère espace "bizarre" à remplacer par rien

Bonjour,

Peut être en trnasformant, après suppression de l'espace, ton "truc" en nombre...
Code:
Dim Rng As Range
For Each Rng In Range("D2:I25")
     Rng.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart
     Rng.Value = CDbl(Rng.Value) 'Ou CInt() pour un entier ou même Val() pourquoi pas...
Next
 
Re : VBA : caractère espace "bizarre" à remplacer par rien

re

donc si le fait de remplacer à la main marche pour un onglet, il te suffit de sélectionner tous les onglets où tu souhaites le faire et faire Remplacer. Ca devrait tout virer en une fois sur tous les onglets choisis.
 
Re : VBA : caractère espace "bizarre" à remplacer par rien

Bonjour à tous,

Je pense qu'un truc comme ça devrait marcher (je vous previens c'est moche...).

Code:
Sub Macro1()

Application.ScreenUpdating = False
nbre = ThisWorkbook.Sheets.Count

For i = 1 To nbre 'boucle sur toutes les feuilles
Sheets(i).Activate
    Range("D2:I25").Select
    Selection.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False 'on remplace la caractere
    Selection.NumberFormat = "#,##0"  'on met le format
Next i

Application.ScreenUpdating = True

'c'est moche mais ça doit marcher...
End Sub

A+ 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour