OVH Cloud OVH Cloud

Probleme Replace VBA dans feuille Excel

11 réponses
Avatar
Ludo167
Bonjour a tous,

voici mon probleme, j'importe un fichier depuis un systeme unix dans excel
puis apres je fais differents traitement dessus mais le probleme je voudrais
remplacer tous les caracteres unix par ceux windows ou par des espaces.

voici une partie du code de remplacement :
cells.Select
Selection.Replace What:=Chr(13), Replacement:=Chr(32),
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:=Chr(9), Replacement:=Chr(32),
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:=Chr(10), Replacement:=Chr(32),
SearchOrder:=xlByRows, MatchCase:=False

j'ai essaye de changer differents options pour passer de true a false et
vice versa mais rien..


j'ai donc essayer d'appliquer cette macro sur une partie de ma feuille par
example une cellule et là ca marche, sur 3 ou quatre aussi mais si je veux
faire sur une trentaine ou collone ou feuilles entieres, ca ne marche pas il
remplace rien..

Y'a t'il une solution??

j'ai essayé avec une boucle pour parser ttous les cellules et faire un
remplacement sur la cellule.. et là ca marche mais ca me prends enormement de
temps 4 min (le fichiers est tres gros) c dommage ca sachant qu'il existent
des replace all.

j'ai essayé avec plusieurs versions : mais en vain..


Ludovic Excel 2003 SP1

Merci bcp d'avance car je planche depuis pas mal de temps dessus et je ne
comprends toujours pas...

1 réponse

1 2
Avatar
Gaenonius
Et avec le célèbre Chr(160) ch(e)r à MichDenis ?

Sub mmm_bis()
For Each cell In Selection
cell.Value = _
Application.Substitute(cell.Value, Chr(160), Chr(32))
Next
End Sub

--
Gaenonius

Bonsoir

essaie avec

Sub mmm()
For Each c In Selection
c.Value = Application.Substitute(c, Chr(13), Chr(32))
Next
End Sub

Salutations
RaMa

"Ludo167" a écrit dans le message de
news:

Bonjour a tous,

voici mon probleme, j'importe un fichier depuis un systeme unix dans excel
puis apres je fais differents traitement dessus mais le probleme je
voudrais
remplacer tous les caracteres unix par ceux windows ou par des espaces.

voici une partie du code de remplacement :
cells.Select
Selection.Replace What:=Chr(13), Replacement:=Chr(32),
SearchOrder:=xlByRows, MatchCase:úlse
Selection.Replace What:=Chr(9), Replacement:=Chr(32),
SearchOrder:=xlByRows, MatchCase:úlse
Selection.Replace What:=Chr(10), Replacement:=Chr(32),
SearchOrder:=xlByRows, MatchCase:úlse

j'ai essaye de changer differents options pour passer de true a false et
vice versa mais rien..


j'ai donc essayer d'appliquer cette macro sur une partie de ma feuille par
example une cellule et là ca marche, sur 3 ou quatre aussi mais si je veux
faire sur une trentaine ou collone ou feuilles entieres, ca ne marche pas
il
remplace rien..

Y'a t'il une solution??

j'ai essayé avec une boucle pour parser ttous les cellules et faire un
remplacement sur la cellule.. et là ca marche mais ca me prends enormement
de
temps 4 min (le fichiers est tres gros) c dommage ca sachant qu'il
existent
des replace all.

j'ai essayé avec plusieurs versions : mais en vain..


Ludovic Excel 2003 SP1

Merci bcp d'avance car je planche depuis pas mal de temps dessus et je ne
comprends toujours pas...









1 2