supprimer les retours charriots

  • Initiateur de la discussion Initiateur de la discussion -fabien-
  • 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 !

F

-fabien-

Guest
Bonjour à tous,

j ai un petit soucis. j ai un fichier excel de 1600 enregistrements.
dans certaines cellules, le texte est en plusieurs lignes (alt+enter). je cherches un moyen simple de supprimer tous les retours chariots du document, pour que quand j'enregistre le fichier au format .txt, je n'ai pas les caracteres retour chariot (représentés par un carré) dans ce fichier.

Merci de votre aide, je n'ai pas beaucoup de temps pour trouver la solution et j'ai tout essayé, je suis perdu
 
Re...

La solution que je donnais faisait quelque chose de "plus sophistiqué" puisqu'elle permettait de séparer le contenu d'une ou plusieurs cellules dans 2 ou plusieurs colonnes à chaque fois qu'il y avait ALT+ENT.
Effectivement elle ne fonctionne pas sous Windows XP et Excel 2000.
S'il y a des personnes intéressées par la solution et qui dispose de windows 98 et Excel 2000 je peux leur envoyer le fichier explicatif.
 
Re Bonjour à tous

Je n'avais pas eu trop de temps pour réagir cet après midi, mais donc si j'ai bien compris c'est la méthode décrite par Pascal à 10:10 plus haut qui ne passerait pas sous Win XP avec Office 2000... Je n'ai pas cette combinaison.

Je viens de tester sous Win XP Pro / Office XP Pro (2002) :

J'ai sélectionné la colonne où se trouve mes cellules de test avec des Chr(10)
Puis comme décrit :
   Menu
    =>Données
      => Convertir ("Text to Columns")
        Délimité/suivant
          Autres et Alt 10/Suivant
            Destination la Colonne adjacente...

Et bien je perds définitivement la partie se trouvant à la droite du premier chr(10)... :-(

Non je re-propose une solution VBA "plus sophistiquée" qui va donc permettre de séparer autant de fois que nécessaire sur les colonnes adjacentes à chaque Chr(10) rencontré dans la String :

NB ici l'exemple scanne la colonne 1 ("A")

Sub SplitLinefeedNextColumns()
Dim TargetVbLF As Range
Dim FirstAddress As String
Dim Splitter As Variant
Dim i As Byte


Application.ScreenUpdating = False

&nbsp;&nbsp;With ActiveSheet.Columns(1) '<<< à adapter
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set TargetVbLF = .Find(vbLf, LookIn:=xlValues, LookAt:=xlPart)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Not TargetVbLF Is Nothing Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstAddress = TargetVbLF.Address
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Splitter = Split(TargetVbLF.Text, Chr(10))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For i = 0 To UBound(Splitter)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TargetVbLF.Offset(0, i) = Splitter(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next i
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set TargetVbLF = .FindNext(TargetVbLF)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On Error Resume Next 'une erreur se produira au dernier VbLF
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loop While Not TargetVbLF Is Nothing And TargetVbLF.Address <> FirstAddress
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If
End With

Application.ScreenUpdating = True
End Sub


Bonne soirée
@+Thierry
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
776
Retour