CRLF sous Excell

jdawson

XLDnaute Junior
Bonjour

je sais que le sujet n est pas nouveau mais souvent la solution n est qu'à 50% complete
dans un fichier excell j ai des retour chariot dans des cellules, des CRLF en fait
ces retours chariot se symbolise sous excell par des petits carrés plein ou presque plein lol

comme il est dit partout je fais une recherche de ALT 0010 et remplacer par un espace et je supprime ainsi tous les 0010 ... quand on clique sur la cellule incriminée, le texte au lieu de se mettre sur deux ligne se met sur une ligne !! super ca marche .. et bien non car même sur une seule ligne on a encore le petit carré qui lui ne peut se copier, et qui lorsque vous enregistrez en texte le fichier, ce carre vous crée des retour a la ligne qui désorganise tous en créant des enregistrement fictifs si je puis dire

je suppose que c est le 0013 qui persiste mais la en recherche ca ne marche pas !!

avez vous une astuce simple, car les personnes qui utilise ces fichiers ne sont pas des pro d excell :)

merci a vous par avance

Bruno
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

Bonjour Tototiti2008,

et merci ca marche nickel, j ai mis un espace en remplacement du 10 et rien en place du 13 comme cela ca colle pas le texte

je joue au pénible !! tu peux adapter ta formule pour la feuille entière excell en cours car au départ on sait jamais dans quel colonne sont les retours chariot, ce sont des fichiers d adressage, le tout est qu aucun retour chariot ne soit présent de toute facon.. heu .. je suis un peu c.. en disant cela car la formule ne se lance pas sur tout le document et le principe de la formule c est de la copier après,

l inconvénient de cette formule est que t es oblige de créer une colonne, mettre ta formule, copier la formule, copier en valeur ta colonne, ta manip marche super bien mais pour les néophites que je connais la sous excell, ca va être coton

c est quand même bête que tu puisse rechercher un 0010 et pas un 0013 ca simplifierait tout en cherche & replace, même si il faut en faire deux ..

j ai pas lu un truc qui ressemble a ta formule avec car(10) mais à placer dans un search & replace ? non ?

merci a toi l ami

bruno
 

tototiti2008

XLDnaute Barbatruc
Re : CRLF sous Excell

Re,

Je n'arrives pas à le faire directement dans la boîte de dialogue de Remplacer non plus
En VBA, sinon ?

Code:
    Cells.Replace What:=Chr(10), Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:=Chr(13) , Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

re

je vois ton sourire mais j ai jamais fais de vba lol,

tu me diras qui n apprend rien a rien lol

merci a toi en tout cas je veux pas te monopoliser ton temps, tu m as deja bien depanner, la formule marche tres bien de toute facon

bruno
 

tototiti2008

XLDnaute Barbatruc
Re : CRLF sous Excell

Re,

Dans ton classeur avec les CR et LF, va dans Visual Basic Editor (Menu Outils - Macro - Visual Basic Editor)
A gauche de l'écran tu dois avoir une zone Projet avec ton classeur
Insère un Module en allant dans le Menu Insertion - Module
Dans la feuille blanche au milieu de l'écran, colle le code suivant :

Code:
Sub ReplCRLF()
    Cells.Replace What:=Chr(10), Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:=Chr(13), Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

ferme l'éditeur avec la croix tout en haut à droite

Dans Excel, pour remplacer tes caractères dans la feuille active :
Menu Outils - Macro - Macros
Sélectionne ReplCRLF
Bouton Exécuter
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

rebonjour a toi,

merci pour l apprentissage, ca marche impecable, j ai meme rajoute le chr(160) espace insecable qui ne nous convient pas non plus lol

on continue dans la connaissance,
ce sont des fichier d adressage donc je suis oblige d installer la macros dans chaque classeur, ou alors je suppose rajouter un bouton excell qui fera la macro ou peut etre meme importer une macro qui est mis dans un repertoire ca se fait ca ?

merci a toi

bonne journee

bruno
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

re

j ai rajoute le code 34 (guillemet) et le 59 (;) j apprend doucement
je voudais le double espaces entre deux mots au cas ou par un espace simple ou meme mieux XXXX espaces par un seul tu vois le truc

merci a toi

bruno
 

tototiti2008

XLDnaute Barbatruc
Re : CRLF sous Excell

Bonjour jdawson,

tu peux ouvrir le classeur contenant la macro, ouvrir le fichier à traiter, activer la feuille à traiter et lancer la macro
Il fait le remplacement dans les cellules de la feuille active du classeur actif
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

rebonjour

ok ca marche, je viens d essayer si tu ouvre dans le meme classeur tes fichier, ta macro est dispo partout,

merci a toi,

t as un ptit truc pour mes espaces multiples .. y en a qui marque 5 RUE par ex, on cherche a rapprocher tout les espaces par un espace, lol

bonne journee


cordialement

Bruno
 

tototiti2008

XLDnaute Barbatruc
Re : CRLF sous Excell

Re,

a priori, là il faut boucler sur les cellules et appliquer la fonction de feuille de calcul Supprespace (Application.Trim) sur chaque cellule
elle supprime les espaces surnuméraires pour n'en laisser qu'un entre chaque mot
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

rebonjour

je suis reparti dans ces histoire de macros pour supprimer tous les espaces mulitiples dans une feuille excell ou qu il soit !!

j ai deja teste application.trim sur une cellule mais ca marche pas

j ai la cellule A1479

Ce serait quoi la ligne de code pour faire cela ?

j avais mis
Application.Trim (A1479)

soit pas trop severe j apprend au jour le jour

merci

bruno
 

jdawson

XLDnaute Junior
Re : CRLF sous Excell

le code

Sub SupprEspaces()
Application.Trim (Range("A1479").Value)
End Sub


la cellule 1479
COLLEGE SACRE CŒUR / CDI

j ai toujours les espaces apres sacre coeur, apres le / et apres CDI ... grrrrrrrrr

et non COLLEGE SACRE CŒUR / CDI

déja sur une cellule ca montrerai le chemin, resterai a faire cela sur la feuilles entiere

Je commence a me faire vieux il me reste pas bcp de cheveux lol

ce sont des adressage et cela eviterai que les mots soient trop detaches sur le marquage adresse film

merci

bruno

ps les espaces multiples ne se voient pas quand je valide le message mais il y sont bien lol
 

tototiti2008

XLDnaute Barbatruc
Re : CRLF sous Excell

Re,

Pour une cellule :

Code:
Sub SupprEspaces()
Range("A1479").Value  = Application.Trim (Range("A1479").Value)
End Sub

Pour toutes les cellules de la colonne A

Code:
Sub SupprEspaces()
Dim i as long
For i = 1 to Range("A65536").end(xlup).row
Range("A" & i).Value  = Application.Trim (Range("A" & i).Value)
next i
End Sub
 

Discussions similaires

Réponses
8
Affichages
306
Réponses
0
Affichages
231

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz