Retour à la ligne, format txt

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

G

GGrome

Guest
Bonjour,

Voila j'ai de nombreuses celulles sous ce format:
NUM 24 _Texte1 _Texte2 _Texte3 (ligne 24)
NUM 25 _Texte1 _Texte2 _Texte3 (ligne 25)
NUM 26 _Texte1 _Texte2 _Texte3 (ligne 26)
...

Le format que je voudrais obtenir est le suivant:
NUM 24
_Texte1 _Texte2 _Texte3 (ligne 24)
NUM 25
_Texte1 _Texte2 _Texte3 (ligne 25)
NUM 26
_Texte1 _Texte2 _Texte3 (ligne 26)

En fait j'ai utilisé CAR(10) pour un retour à la ligne, et donc pas de probleme.
Le hic c'est que je dois copier les cellules dans un fichier texte (*.txt)
qui ne prend pas en compte les retours à la ligne (notepad affiche un petit carré à la place).
Comment puis-je faire? Est-il possible de transformer une cellule contenant deux lignes de texte en deux cellules d'une ligne chacune (et donc la copie en txt marcherait)?
Merci pour votre aide !
 
Bonjour Gael,

ça marche desormais pour le retour à la ligne...mais j'avais oublié un autre problème: la ligne que je colle apparait entre guillemets. Est-il possible de se debarasser de ces guillemets?
Merci pour ton aide.
 
Rebonjour Gutuater,

Dans un autre FIL de discussion, Thierry avait proposé une macro permettant de créer un fichier texte avec contenu des cellules sans guillemets.

Je te l'envoie si tu peux l'adapter à ton problème.

Option Explicit

Sub BuildTXT()
Dim Range As Object, Line As Object
Dim StrTemp As String, Nom As String
Dim Rep As Variant
Dim L As Integer

Nom = ThisWorkbook.Path & 'ReportData'
Rep = Application.GetSaveAsFilename(Nom, 'Fichier,*.txt')
If Rep = False Then Exit Sub

L = 1
With Sheets('Feuil1')
Set Range = .Range('C1:C' & .Range('A65536').End(xlUp).Row)
End With

Open Rep For Output As #1

For Each Line In Range.Rows
StrTemp = CStr(Cells(L, 3).Text)
L = L + 1
Print #1, StrTemp
Next
Close

Set Range = Nothing
End Sub


@+

Gael
 
- 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
2
Affichages
228
Réponses
3
Affichages
624
Réponses
0
Affichages
407
Réponses
0
Affichages
537
Retour