Comment copier du texte multiligne d'Excel sans guillemets?


71

Lorsque vous créez une chaîne multiligne dans une cellule Excel (en utilisant Alt-Entrée), si vous copiez cette cellule dans un éditeur de texte, Excel ajoutera automatiquement des guillemets doubles (") autour de la chaîne complète, à savoir:

Cell1  |   Simple String 1 
Cell2  |   First line of a 
       |   Multiline string
       |   with 3 lines 
Cell3  |   Another simple line 2

Lorsque vous copiez uniquement la colonne avec les valeurs dans un éditeur de texte, nous obtenons:

Simple String 1
"First line of a 
Multiline string
with 3 lines"
Another simple line 2

Comment puis-je dire à Excel de ne pas ajouter de citation autour d'un texte multiligne lors de la copie à partir d'Excel?


Edit: Les éditeurs de texte que j'ai essayés affichent ce comportement:

  • MS Word
  • Wordpad
  • Bloc-notes
  • Bloc-notes ++
  • SQL Server Studio

Si vous avez une suggestion d'utilisation d'un éditeur particulier (ou de l'un de ceux mentionnés ci-dessus), dites-moi lequel et comment l'utiliser ...


4
Pour ce que cela vaut, c'est parce qu'Excel tente de produire un fichier CSV valide . Je serais surpris si cela était facile à changer.
slhck

@slhck, j'espère que vous vous trompez (réponse intéressante!), car il serait très utile de pouvoir dire à Excel que je ne copie pas sur CSV ...
Andrew Bickerton

3
C'est très énervant. Il n’existe aucune raison légitime pour laquelle Excel place des guillemets autour d’un texte contenant un retour à la ligne.
oscilatingcretin

1
Google Spreadsheets fait la même chose agaçante. J'essaie de copier plusieurs cellules de données dans un fichier texte, mais Google Spreadsheets ajoute des guillemets aux données. Ces guillemets ne figurent PAS dans les données source. Ceci est un bug pour moi, pas une fonctionnalité.
Jonny

Il existe une réponse qui utilise VBA posté ici: stackoverflow.com/a/24913557/976210 Cela a fonctionné beaucoup mieux pour moi car je ne veux pas avoir à utiliser un programme intermédiaire.
Kit Johnson

Réponses:


20

La manière dont votre texte est copié dans Word dépend de l'option de formatage choisie. Dans Word 2010, l'option de formatage par défaut est HTML Format. Il existe quatre options principales pour copier du texte dans Word. ( Formatted Text (RTF), Unformatted Text, HTML Format, Et Unformatted Unicode Text)

Coller avec du texte mis en forme crée des mini-tables dans Word. (Les contours bleus.)

Coller les options spéciales

Pour obtenir du texte non formaté dans Word sans les guillemets:

  1. Collez le texte mis en forme afin qu'il crée le tableau.
  2. Sélectionnez la table et copiez-la.
  3. Déplacez-vous vers un endroit vide et collez la nouvelle copie en tant que texte non formaté. ( Alt + E, S)

Cela fonctionne également pour coller les résultats sans guillemets dans un autre éditeur. Il suffit de modifier l'étape 3 pour coller dans l'autre éditeur.

Cependant, il serait probablement plus rapide de simplement coller normalement puis d’utiliser Remplacer pour rechercher et supprimer toutes les guillemets doubles.


+1 belle réponse avec technique pour le résoudre! (malheureusement pour le bloc auquel je faisais face, il y avait des guillemets valides que je voulais conserver)
Andrew Bickerton le

+1 ces choses stupides me donnent vraiment envie de chercher un produit de bureau différent. Peut-être que Star Office ou quelque chose comme ça. merci pour le tour
vélo

22

Si vous copiez une plage d'Excel (2010) vers Word, vous obtiendrez le texte que vous souhaitez, entre guillemets gratuits. Ensuite, vous pouvez le copier à nouveau vers sa destination finale, par exemple le bloc-notes. Excel-> Word-> Notepad vous donnera les résultats souhaités.


Word affiche ce comportement lorsque vous copiez avec d'autres cellules (comme décrit dans la question). Ou est-ce quelque chose qu'ils ont trié dans Office 2010?
Andrew Bickerton le

2
Jusqu'à présent, cela fonctionne. C'est dommage que je doive utiliser Word 2010 en tant qu'intermédiaire pour supprimer les guillemets.
oscilatingcretin

Cela fonctionne aussi pour Mac Office 2011.
Lewis42

3

Le moyen le plus simple que j'ai trouvé est de concaténer les cellules que vous souhaitez placer sur plusieurs lignes avec quelque chose de "spécial" entre elles, plutôt que de cr / lf. Tilde fonctionne généralement bien pour moi. Par exemple, dans la colonne G:

=E1&"~"&F1
=E2&"~"&F2
...

Dans cet exemple, l’objectif final est d’obtenir un fichier texte avec les valeurs de E1 sur une ligne, suivi de F1 sur une nouvelle ligne, puis de E2, F2, etc. Bien sûr, vous pourriez avoir tout aussi facilement construit G1 à partir d’autres. valeurs, juste inclus ~ pour les sauts de ligne.

Ensuite, pour obtenir un fichier texte multiligne dans Notepad ++

  • Couper et coller dans Notepad ++
  • Ctrl-H pour ouvrir le dialogue de remplacement
  • Assurez-vous que l'option de recherche "étendue" est sélectionnée
  • Remplacez tous les ~ par \ n (ou \ r \ n si vous préférez)

En tant que développeur, j'aime bien celui-ci car il ne nécessite pas de troisième outil comme Word.
VSB

2

Ce n'est pas le problème d'Excel. Comme le dit l'affiche précédente, il ne fait que sortir des données CSV valides. Ce sera à l'éditeur de décider de le mettre en forme. Je suggérerais d'utiliser quelque chose d'un peu plus intelligent que le bloc-notes ... Vous pouvez utiliser MS Word comme intermédiaire entre Excel et l'éditeur de texte que vous souhaitez utiliser, à part Word.


2
J'utilise autre chose que le bloc-notes ... De plus, Word fait exactement la même chose (il ne fait que coller cette cellule dans "'s)
Andrew Bickerton

Word 2010 avec les paramètres par défaut fonctionne parfaitement comme intermédiaire.
Adam Ryczkowski

J'ai découvert ça hier. Je suis d'accord avec Andrew Bickerton. Je ne veux pas copier de fichier CSV, je veux copier du texte. Excel devrait au moins demander. Comme mon texte comptait environ deux mille insertions SQL, j'ai pu le résoudre plus facilement avec PsPad. En dépit d'être facile, c'était complètement inutile.
alvaroc le

1

J'avais le même problème et suivais les étapes suivantes (j'utilise Office 2007, mais je pense que cela fonctionne également pour les versions ultérieures):

  1. Sélectionnez la plage de cellules contenant du texte multiligne d'Excel que je souhaite coller dans un autre éditeur, puis choisissez Copier.
  2. Dans Word 2007, j'ai collé la plage de cellules copiée sous forme de tableau.
  3. Sélectionnez la table.
  4. Sous l'onglet Disposition, choisissez Select-Table.
  5. Dans la section de données, sélectionnez Convertir en texte, puis Repères de paragraphe.

Le résultat est la table d'origine convertie en texte, avec des caractères de nouvelle ligne à la fin de chaque ligne et des marques de paragraphe à la fin de la dernière ligne de chaque cellule.


1

Vous pouvez enregistrer le document Excel en tant que page Web, puis copier le texte à partir de la page Web. Cela fonctionne bien pour une seule colonne de données, mais veillez à définir la largeur de la colonne sur la largeur du texte, sinon, des sauts de ligne seront ajoutés.


1

J'ai eu ce problème aujourd'hui alors j'ai pensé poster une réponse au cas où quelqu'un resterait bloqué dessus.

Vous pouvez contourner ce problème en mettant en surbrillance la cellule, puis en copiant et collant le code directement à partir de la barre de texte en haut, en cliquant dessus et en le mettant manuellement en surbrillance.

Je ne l'ai fait que dans Excel 2010, donc je ne sais pas si cela fonctionnera pour les versions précédentes.


C'est parfait, bien que je devais prendre ma cellule contenant la formule CONCAT (A1: A100) et coller spéciale dans une deuxième cellule avant de pouvoir tout sélectionner dans la zone de texte, comme vous l'avez décrit
nvuono

1

Cela ne peut pas être de le préparer pour un fichier CSV, car ils seraient assez stupides pour être assez sophistiqués pour que les cellules supérieures et arrière qui contiennent des caractères non imprimables avec des guillemets et ne fassent pas la même chose pour les cellules qui contiennent des virgules 't).

En tous cas. Je suis tombé sur ce problème lorsque j'ai essayé de créer des étiquettes d'adresse à partir des champs Prénom, Nom, Ligne d'adresse 1 ... comme:

=A1&" "&B1&CHAR(13)&CHAR(10)&C1&CHAR(13)&CHAR(10)&D1

CHAR(13)suivi par CHAR(10)être un nouveau paragraphe lors de la visualisation d'un fichier texte avec un éditeur hexadécimal.

Mon moyen de contourner cet ennui est de:

  • copier et coller les cellules / colonnes dans Word.
  • Utilisez le menu déroulant Symbole du presse-papiers (en bas à gauche de la page ou du texte collé) pour sélectionner l' option Conserver le texte uniquement .
  • Sélectionnez le texte collé. Vous ne devez le faire que si le document contient d’autres éléments susceptibles d’être affectés.
  • Appuyez sur Ctrl+ Hpour afficher la boîte de dialogue Rechercher et remplacer .
  • Dans la zone Trouver , tapez ce qui suit: "^p"(les quatre caractères).
    Vous devrez peut-être accéder à Outils -> Options de correction automatique, puis aux deux onglets de mise en forme automatique pour vous assurer que cela ne modifie pas vos guillemets droits).
  • Dans le champ , Remplacer par , entrez: ^p(2 caractères)
  • Maintenant, appuyez sur le bouton , Remplacer tout ,
  • Enfin, vous devrez supprimer manuellement les guillemets au début et à la fin du bloc importé.

Ceci est basé sur Office 2003, votre version de Microsoft Word peut donc être légèrement différente.


0

J'ai utilisé la CLEARfonction et cela a fonctionné pour moi.

Placez les cellules que vous souhaitez copier CLEAR, par exemple:

=clear(A1)

Où se A1trouve la cellule contenant les données à copier dans le bloc-notes sans les guillemets.


15
Je pense que tu veux dire CLEAN. (Du moins dans Excel 2010). Cependant, cela enlèverait les caractères de saut de ligne et sa deuxième phrase ne serait plus multiligne.
mischab1

0

Je sais que c'est un sujet ancien, mais ma solution consistait à utiliser CLEAN comme suggéré, à copier ces cellules et à coller les valeurs dans une feuille. De cette façon, je pourrais modifier le texte du résultat final et copier / coller les cellules dans un document texte sans les guillemets.

Je pense que nettoyer le texte d'abord, puis faire la mise en forme finale fonctionnerait probablement (du moins, cela a fonctionné pour moi).


2
Une chose à noter, je crois que la méthode "Nettoyer" supprimera également les caractères de retour chariot et que le passé résultant ne sera pas multiligne.

0

Avait le même problème, finalement résolu très facilement. J'ai eu 600 rangées de longues descriptions de produits. Pour résoudre ce problème, j'ai procédé comme suit:

1) Sélectionnez la colonne entière et cliquez sur "Envelopper le texte".

2) Tout en maintenant la colonne sélectionnée, cliquez à nouveau sur "Envelopper le texte" (pour que le texte ne soit PAS enveloppé à 100%).

PRESTO - le texte copié parfaitement de chaque cellule, sans guillemets (même s’il s’agissait de longs paragraphes).

Par défaut, Excel ajoute des guillemets à n’importe quel texte multiligne. Ainsi, la solution simple, fournie par le processus ci-dessus, consiste à s'assurer que vos cellules contenant un texte long ne sont pas automatiquement enveloppées sur plusieurs lignes.

Cela vaut peut-être la peine de noter qu'avant de faire cela, les cellules semblaient normales et ne semblaient PAS être enveloppées. Je pense que le processus ci-dessus dit à Excel de NE PAS interpréter une cellule comme un texte "multiligne", même s'il s'agit d'un long paragraphe, résolvant ainsi le problème "Excel ajoutant des guillemets au texte copié".


2
Salut, pas tout à fait la bonne solution. Cela ne fonctionne que si vous n'avez aucun retour chariot interne dans vos cellules (appuyez sur alt-enter pour créer un retour chariot interne)
Andrew Bickerton

0

J'ai trouvé un travail facile pour cela. Installez OpenOffice Calc et ouvrez le fichier .xlsx. Ensuite, copiez simplement le contenu de la cellule et collez-le dans n’importe quel éditeur de texte. Les guillemets ennuyeux ne sont pas affichés.


0

Je sais que nous sommes en 2018, et ces publications sont plus anciennes mais elles sont toujours pertinentes. Ils m'ont aidé à trouver une solution.

  1. Je mets = A2 qui regarde la cellule avec le caractère dans la formule.
  2. J'ai ensuite copié A2 et collé en tant que valeurs dans une autre cellule, par exemple A3.
  3. Je puis sélectionné A3, pressé F2, CtrlShiftHome, CtrlC.
  4. Arrêtez-vous, ne collez pas dans une autre cellule Excel. laissez-le dans le presse-papiers et collez-le dans le bloc-notes.
  5. Les citations invisibles disparaissent.

Disparaître comme INXS l'a dit, Disappear! : =)

Quelqu'un a peut-être déjà dit cette solution, alors mes excuses, après avoir lu tous les exemples, quelque chose a coulé dans mes pensées et vous avez tous aidé!


-1

Comme vous, j'avais mes données dans une colonne. Donc, pour copier les valeurs sans ces guillemets, je concatène toute la colonne avec les données. Ceci concerne les feuilles de calcul Google Documents, mais j'imagine que cela pourrait fonctionner pour Excel. Il pourrait être nécessaire de modifier la fonction CONCATENATE.

Pour concaténer toute la colonne G:

=CONCATENATE(G:G)

Il ajoutait des guillemets seulement en premier et en dernier, ce qui est assez facile à modifier manuellement ultérieurement.


ne fonctionne pas pour Excel
Baljeetsingh

-1

En travaillant sur la réponse de solvus, nous pouvons créer une page Web à publication automatique, avec juste la plage de texte que vous voulez - sans guillemets. vous pouvez ensuite copier et coller ceci à d’autres endroits. Une fois que vous l’aurez configurée, vous pourrez la mettre à jour définitivement et sans ficher avec votre fichier principal.

pour faire ça,...

Sélectionnez vos cellules et puis save as.. save as file type= Single File Web Page. avec l'option Republish $ : $(votre gamme sélectionnée.)

cliquez sur publier. sélectionnez AutoRepublish every time this workbook is saved.

  • vous obtiendrez alors une page Web publiée contenant uniquement vos données de plage, sous forme de tableau sans guillemets. copier et coller :)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.