Arrêtez Excel de convertir les valeurs de nombre / texte copiées-collées en date


38

Je copie des données d'une table html dans Excel. Mais Excel convertit automatiquement certaines valeurs de texte ou de nombre en date! Lorsque je change de format, le nombre est altéré, il se situe dans les environs de 4112523 (Excel interprète probablement la cellule comme une date, puis se convertit en nombre ou quelque chose comme ça ...)

Il existe une astuce pour importer des fichiers CSV , mais existe-t-il une solution lorsque vous collez vos données directement à partir d'un navigateur Web?


Avez-vous essayé la formule personnalisée?
Jeremy John

Voici une question similaire stackoverflow.com/q/13082641/1370465
Jook

@ JeremyJohn - formule personnalisée? Que voulez-vous dire?
Tomas

8
Le fait que tout logiciel pense que le moyen le plus approprié de se comporter est de supposer que vous voulez le reformater, quelle que soit l'information que vous lui avez donnée car vous ne vouliez sûrement pas que ce soit de cette façon ... sans moyen simple et évident de le désactiver. ... est la décision de conception la plus stupide et la chose la plus agaçante à propos d'Excel. Je ne devrais pas avoir à cliquer sur un assistant d'importation si tout ce que j'essaie de faire est de copier / coller d'un CSV à un autre. La chose friggin est un nombre dans un CSV. Pourquoi sur la terre verte de Dieu voudrais-je qu'il colle une date? Quel idiot a conçu ça?
Matt Welch

2
Avant de coller, formatez la feuille entière en tant que texte. Désormais, les données que vous collez ne seront ni reformatées ni même analysées pour vous!
DanO

Réponses:


4

Essayez ceci, cela a fonctionné pour moi:

Données - Importer des données externes - Nouvelle requête Web et suivez l'assistant

C'est si simple.

Cordialement!


merci, bon conseil! Mais il convertit toujours les champs ...
Tomas

2
J'ai trouvé une option d'importation "Disable Date Recognition" qui a fait l'affaire! Donc, ceci (l'importation) est la seule façon qui fonctionne pour moi!
Tomas

Malheureusement, cela ne fonctionne que lors du copier-coller à partir d'une source Web. S'il s'agit d'un copier-coller à partir de MS Access par exemple, il est inutilisable.
Tomas

1
Les données externes d'importation ont également fonctionné pour moi avec MS Access, il suffit de rechercher le fichier source .mdb. Travaillez-vous avec office 2007+?

8
Pourquoi est-ce la réponse acceptée? Cela ne concerne pas du tout le copier / coller.
DanO

26

C’est vraiment un kluge et c’est la seule chose que j’ai imaginé faire. Je suis venu ici à la recherche d'une solution plus élégante.

J'ai une légère amélioration pour cela.

  1. Collez les données telles quelles dans la feuille de calcul.
  2. Sélectionner tout et formater en texte
  3. Collez à nouveau sur ce que vous avez fait la première fois, mais cette fois-ci en tant que valeurs.

Cela vous évite d'avoir à compter les colonnes et les lignes, etc.

Si vous voulez réellement que les données soient des chiffres, des dates, etc., il est beaucoup plus facile de les reformater correctement de ce côté que de l'autre. Comme les nombres ne seront pas automatiquement convertis, j'ai utilisé du texte en colonnes sur la colonne, en sélectionnant "délimité" mais en décochant tous les délimiteurs. Cela a le même effet que d'aller dans chaque cellule et d'appuyer sur Entrée pour que Excel le reconnaisse à nouveau. Moche, mais ça marche.


7
Le vrai truc est que les cellules doivent être formatées au texte au préalable. La première pâte aide à identifier les cellules qui seront recouvertes par la suite. Bon conseil!

Attention: les numéros capitonnés, tels que "00001", perdent leur remplissage. Ceux-ci sont convertis en 1 et que en "1". Le numéro d'origine est irrécupérable. La solution de Tibo fonctionne bien.
Oleg Melnikov


Remarque: ne fonctionne pas à partir de Word. Ne fonctionne à partir du Bloc-notes.
Alan Baljeu

17

Le moyen le plus simple.

1. Copy the original Data
2. Paste to Notepad (Prefer Notepad++)
3. Change the Cell Properties to TEXT
4. Copy All from Notepad
5. Paste back to Excel.

OK, alors pour des millions de cellules, vous le faites des millions de fois?
Tomas

Vous pouvez sélectionner la colonne entière à partir du haut. Il va tout sélectionner, puis copier et coller dans le bloc-notes.
Shiro

1
Cela marche! vous pouvez même commencer à l'étape 3! Sélectionnez la feuille entière, formatez en texte, collez! terminé.
DanO

C’est ce que je finis par faire, car modifier les données en texte dans Excel ne fonctionne pas toujours. Par exemple, si vous avez du «texte» qui est un nombre long (codes de produit, etc.), Excel l’affiche en notation scientifique. .
user535673

Excel est stupide. Pourquoi font-ils cela à nous ??? Cependant, votre solution est la seule qui fonctionne de manière cohérente.
theforestecologist

10

Avant de coller, sélectionnez la colonne qui contiendra la valeur sans date. Clic-droit. Sélectionnez 'cellules de format'. Ensuite, sélectionnez «texte» comme format et cliquez sur OK.

Maintenant, allez-y et collez, mais collez-les à l'aide de l'option "faire correspondre le formatage de destination".


Cela ne fonctionne pas pour moi.
theforestecologist

Pour le formatage, "Texte" fonctionne et "Général" ne fonctionne pas. Le détail m'a manqué. Merci Paul.
HongPong

2
  1. Ouvrir un classeur vide
  2. Cliquez sur les données
  3. Cliquez à partir du texte
  4. Localisez votre fichier CSV / txt
  5. Cliquez sur Suivant
  6. Choisissez votre délimiteur
  7. Cliquez sur Suivant
  8. Utilisez la barre de défilement pour localiser la colonne que vous souhaitez protéger et cliquez dessus.
  9. Sélectionnez Texte dans le format de données de la colonne.
  10. Cliquez sur Terminer
  11. Cliquez sur OK

Les données auront maintenant été importées sans conversion de date.


1

options / transition

évaluation de la formule de transition - activez-la

PS

et oubliez les données déjà collées et sauvegardées. = (


merci, mais cette option est décochée!
Tomas

1
Génial! Cela marche! Malheureusement, il pervertit d'autres données ... il y a une date dans une autre colonne sous la forme "01/05/1998" et elle en calcule 0,0001001 :-) :-(
Tomas

1
Et il devrait être "entrée de formule de transition" à la place .. et notez que cette option est par feuille ..
Tomas

0

Essayez les options suivantes:

1) Sélectionnez les cellules et allez dans Format -> Cellules -> Numéro et sélectionnez Texte pour la sélection

OU

2) Pendant que vous le collez à partir de MS Word, collez-le à l'aide de l'option Collage spécial et sélectionnez l'option "Valeurs uniquement" dans la boîte de dialogue.


1
1) ne fonctionne pas - le nombre est déjà pervers lorsque je change de format en texte. 2) ne fonctionne pas - Coller spécial ne contient pas l'offre standard, mais seulement: HTML, texte en Unicode, texte. Parce que je colle du contenu HTML.
Tomas

0

C'est un peu difficile, mais si les données peuvent être collées normalement (sans utiliser Paste Special), cela fonctionne généralement:

  1. Mettre en forme toutes les cellules vides où les dates tomberont sous forme de texte.
  2. Cliquez avec le bouton droit lors du collage et sélectionnez "Adapter le formatage de destination".

Attention, b / c, si vous collez des nombres dans les cellules que vous avez préformatées, ils seront également convertis en texte et vous devrez utiliser value () ou autre pour les récupérer (avec Excel En 2013, vous obtenez un aperçu de l'emplacement des données au survol du bouton Coller. Je le fais donc généralement, puis convertis les colonnes où les chaînes de type date atterriront en premier).


Cela ne fonctionne pas pour moi.
theforestecologist

0
  1. Dans votre navigateur Internet, Fichier / Enregistrer la page sous / Enregistrer en tant que page Web, Complet / "nommez-le"
  2. Ouvrez Excel (2007), Fichier / Ouvrir / "nommez-le" Fichier que vous avez enregistré dans # 1

0

Extension de la réponse d'Alex Robilotto pour l'objet presse-papiers non formaté en "texte".

  • Par exemple, cela fonctionne pour les objets presse-papiers basés sur le Web

Les marches:

1. Paste the data into the spreadsheet as is.
2. Select all and format the cells as text
3. Paste original clipboard object again over what you did the first time
   - But this time select "Paste Special..." and select "Text".

Remarque: le collage en tant que valeur n'est pas une option pour les objets Presse-papiers Web non textuels.


0

Sélectionnez toutes les cellules et changez leur format en Texte.

Ensuite, choisissez Coller -> Correspondance Format de destination.

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.