Lorsque vous copiez une cellule avec des sauts de ligne dans Excel et la collez dans le Bloc-notes, le texte est collé sur une ligne. Pourquoi donc?
Lorsque vous copiez une cellule avec des sauts de ligne dans Excel et la collez dans le Bloc-notes, le texte est collé sur une ligne. Pourquoi donc?
Réponses:
C'est dû à la nature du fonctionnement des feuilles de calcul. Imaginez que vous ayez une feuille de calcul remplie de données. Si vous deviez copier une ligne entière de données, puis la coller dans le Bloc-notes, toutes ces données doivent être sur une seule ligne. En effet, si vous copiez une autre ligne de données et la collez, la ligne de données suivante doit être sur une seule ligne. S'il y avait des sauts de ligne dans la première ligne que vous avez copiée, les données ne seraient plus sur deux lignes linéaires. Si vous deviez copier les données du Bloc-notes et les remettre dans la feuille de calcul, elles ne seraient pas collées correctement.
Alt+Enter
), seul 0xA est entré, pas le 0xD 0xA complet, ce qui signifie LF
, au lieu de CR/LF
. Excel interprète cela et affiche le saut de ligne, contrairement au bloc-notes simple, car il attend CR/LF
. C'est une différence dans les formats détectés plus qu'un bug, mais c'est quand même la bonne raison.
Cela est vrai lorsque vous utilisez le Bloc-notes, qui est l'éditeur de texte de base de Microsoft qui est déjà préinstallé dans Windows.
Cependant, vous pouvez utiliser un éditeur de texte plus avancé tel que PSPad ou Notepad ++ (à la fois excellent et gratuit), et vous obtenez vos sauts de ligne transférés.
Excel :
Cellule marquée, puis copier-coller dans le Bloc - notes ++ :
Même contenu collé dans le Bloc-notes (l'éditeur par défaut de Windows):
Notez que dans les deux cas, des guillemets ont été ajoutés automatiquement!
Les meilleurs éditeurs vous donnent également la possibilité d'afficher les caractères de contrôle tels que LineFeed (LF) et CarriageReturn (CR). Dans Notepad ++, cela ressemble à ceci:
En conclusion: choisissez votre outil en fonction de vos besoins. Si vous avez besoin que les limites des cellules soient préservées dans l'éditeur, mais que le contenu des cellules puisse être légèrement modifié, utilisez le Bloc-notes. Si vous avez besoin que le contenu des cellules reste intact, y compris les sauts de ligne, et que la reproductibilité 1: 1 des limites des cellules ne soit pas cruciale, utilisez un autre éditeur.
Traitement en masse de ces données
Si vous avez besoin à la fois de bordures de cellule et de contenu de cellule préservé 1: 1, vous pouvez rencontrer des problèmes.
Il pourrait y avoir des solutions plus intelligentes, mais ce que j'ai fait dans de tels cas, c'était d'écrire un petit programme dans n'importe quel langage (VBA, Python, ou ce que vous aimez le plus) qui lit le contenu et ajoute des chaînes d'espace réservé pour les sauts de ligne (quelque chose d'aussi simple que "### Linebreak ###", qui peut ensuite être remplacé par des caractères de contrôle CR et LF. Bien sûr, cela est fastidieux et n'a de sens que si vous devez traiter de grandes quantités de données.
Vous pouvez également rencontrer des problèmes avec les guillemets ajoutés. Celles-ci peuvent à première vue être utiles pour préserver les limites des cellules même lorsque des sauts de ligne sont inclus. Cependant, votre cellule peut avoir des guillemets une partie du contenu d'origine, puis vous rencontrez de nouveaux problèmes. Il existe donc diverses solutions à cela, mais cela nécessite votre attention.
CR
LF
qu'il y en a en fait parce qu'il voit le LF
et suppose qu'il est censé être complet CR
LF
et le convertit.
La réponse de Keltari donne le raisonnement logique, tandis que cette réponse se concentre sur la différence technique.
Il existe trois formes différentes de sauts de ligne utilisés dans l'informatique:
LF
)CR
)CRLF
)Ceci est un maintien de la façon dont les rédacteurs de texte fonctionnent.
Excel utilise une combinaison de ces sauts de ligne pour représenter les cellules avec plusieurs lignes:
Tab
caractère.CRLF
caractères.LF
caractère.Cela devient évident lorsque vous enregistrez votre classeur en tant que .txt
fichier et l'ouvrez avec un éditeur de texte qui prend en charge l'affichage de ces caractères.
Le bloc-notes ne traite CRLF
que les sauts de ligne et ignore LF
ou CR
par eux-mêmes. Ils sont toujours dans le document, mais ne sont en aucun cas visibles.
Remarque: Vous ne le verrez pas lorsque vous collerez d'avant en arrière, car Notepad ++ ajuste automatiquement les fins de ligne pour vous, contrairement au Bloc-notes normal.
LF
est toujours présent lorsqu'il est collé dans le bloc-notes, le bloc-notes ne l'affiche tout simplement pas de manière visible. (Il est effectivement identique à un espace de largeur nulle.) C'est pourquoi la copie des données collées hors du bloc-notes dans Excel inclut ces sauts de ligne (bien qu'Excel ne leur redimensionne pas automatiquement les lignes).
CRLF
.
="A"&CHAR(13)&CHAR(10)&"B"
. Les sauts de ligne produits par les formules ne sont pas visibles dans Excel, mais fonctionnent correctement s'ils sont copiés puis collés via des "valeurs de collage". Une valeur collée en tapant manuellement "A<CRLF>B"
dans le bloc-notes et en copiant conservera également le CRLF.
LF
EOL lisibles rapidement. Trouver par exemple un LF
caractère, sélectionnez - le, Ctrl
+ C
, Ctrl
+ Home
, Ctrl
+ F
, Ctrl
+ V
, Enter
, Esc
, Enter
. Puis à plusieurs reprises F3
, Enter
jusqu'à la fin. [Modifier: <kbd> ne fonctionne pas dans les commentaires?]
Excel utilise LF pour désigner de nouvelles lignes dans une cellule. Le Bloc-notes ne considère pas qu'il s'agit d'une nouvelle ligne car Windows utilise généralement CRLF pour les nouvelles lignes.
Notepad ++ est plus intelligent que le bloc-notes relativement simple et interprète donc LF comme une nouvelle ligne également.
"
et Notepad ++ normalisera toutes les fins de ligne pour correspondre. Voir ici . Si vous enregistrez à la place sous .txt
et ouvrez dans Notepad ++, les cellules multilignes n'en auront LF
que. Voir ici .