Le problème : Excel ne veut pas reconnaître les dates comme des dates, même si par le biais de "Format cells - Number - Custom" vous essayez explicitement de lui dire qu'il s'agit de dates par ". mm/dd/yyyy
". Comme vous le savez, lorsqu'Excel a reconnu quelque chose comme une date, il l'enregistre ensuite comme un nombre - tel que " ". 41004
"mais s'affiche comme une date selon le format que vous avez spécifié. Pour ajouter à la confusion, Excel peut ne convertir qu'une partie de vos dates, comme le 08/04/2009, mais laisser les autres, comme le 28/07/2009, non converties.
Solution : étapes 1 puis 2
1) Sélectionnez la colonne de date. Sous Données, choisissez le bouton Texte vers Colonnes. Sur le premier écran, laissez le bouton radio sur " délimité "et cliquez sur Suivant . Décliquez sur l'une des cases de délimitation (toute case vierge ; pas de coches) et cliquez sur Suivant . Sous format de données de la colonne, sélectionnez Date et sélectionnez MDY dans la boîte combo adjacente et cliquez sur Finition . Vous avez maintenant des valeurs de date (c'est-à-dire qu'Excel a reconnu vos valeurs en tant que Date
), mais le formatage est probablement encore la date de la locale, et non pas la mm/dd/yyyy
que vous voulez.
2) Pour que le format de date américain souhaité s'affiche correctement, vous devez d'abord sélectionner la colonne (si elle n'est pas sélectionnée) puis, sous la rubrique Format des cellules - Numéro choisissez Date ET sélectionnez Locale : Anglais (US) . Cela vous donnera un format comme " m/d/yy
". Ensuite, vous pouvez sélectionner Custom et là, vous pouvez soit taper " mm/dd/yyyy
"ou choisissez-la dans la liste des chaînes personnalisées.
Alternative 0 : utiliser LibreOffice Calc . Après avoir collé les données de l'article de Patrick, choisissez la fonction Collage spécial ( Ctrl+Shift+V
) et choisissez Texte non formaté. La boîte de dialogue "Importer du texte" s'ouvre alors. Le jeu de caractères reste Unicode mais pour la langue choisissez English(USA) ; vous devez également cocher la case "Detect special numbers". Vos dates apparaissent immédiatement dans le format américain par défaut et sont triables par date. Si vous souhaitez utiliser le format spécial américain MM/DD/YYYYY, vous devez le spécifier une fois par le biais de "format Cells" - avant ou après le collage.
On pourrait dire qu'Excel aurait dû reconnaître les dates dès que je le lui ai demandé via le "Format de cellule" et le "Format d'image". Je ne pourrais pas être plus d'accord . Malheureusement, ce n'est que grâce à l'étape 1 ci-dessus que j'ai pu faire en sorte qu'Excel reconnaisse ces chaînes de texte comme des dates. Évidemment, si vous faites cela souvent, c'est un casse-tête et vous pourriez mettre au point une routine Visual Basic qui le ferait pour vous en appuyant sur un bouton. Cela peut être aussi simple que ce code VBA dans Excel :
Sub RemoveApostrophe()
For Each CurrentCell In Selection
If CurrentCell.HasFormula = False Then
CurrentCell.Formula = CurrentCell.Value
End If
Next
End Sub
Alternative 1 : Données | Texte en colonnes
Mise à jour sur apostrophe principale après le collage : Vous pouvez voir dans la barre de formule que dans la cellule où la date n'a pas été reconnue, il y a une apostrophe en tête. Cela signifie que dans la cellule formatée comme un nombre (ou une date), il y a une chaîne de texte que le programme pense vouloir préserver comme une chaîne de texte. On pourrait dire que l'apostrophe initiale empêche le tableur de reconnaître le nombre. Vous devez savoir qu'il faut chercher ce problème dans la barre de formule, car le tableur affiche simplement ce qui ressemble à un nombre aligné à gauche. Pour résoudre ce problème, sélectionnez la colonne que vous souhaitez corriger, choisissez dans le menu Data | Text to Columns
et cliquez sur OK. Parfois, vous pourrez spécifier le type de données, mais si vous avez déjà défini le format de la colonne pour qu'il corresponde à votre type de données particulier, vous n'en aurez pas besoin. La commande est en fait destinée à diviser une colonne de texte en deux ou plusieurs en utilisant un délimiteur, mais elle fonctionne à merveille pour ce problème également. Je l'ai testée dans Libreoffice mais il y a le même élément de menu dans Excel aussi.
Alternative 2 : Editer Remplacer dans Libreoffice
C'est le moyen le plus rapide et le meilleur jusqu'à présent, mais cela ne fonctionne pas dans MsOffice pour autant que je sache. Libreoffice Calc dispose d'une option permettant de rechercher/remplacer en utilisant les éléments suivants Regexps (alias Expressions régulières) - Ce que vous faites, c'est trouver la cellule et la remplacer par la sienne. Dans le processus, Calc reconnaît à nouveau le nombre comme un nombre et se débarrasse de l'apostrophe de tête. Cela fonctionne très rapidement. Sélectionnez votre colonne. Ctrl-H
ouvre le dialogue de recherche et de remplacement. Cochez 'Sélection actuelle' et 'Utiliser des expressions régulières'. Dans la boîte de recherche, entrez ^[0-9]
- ce qui signifie trouver toute cellule ayant un chiffre de 0 à 9 dans sa première position. . Dans la boîte de remplacement, entrez &
- ce qui, pour libreoffice, signifie pour le remplacement, utilisez la chaîne que vous avez trouvée dans le champ de recherche". . Cliquez sur Replace All
- et vos valeurs sont reconnues pour les chiffres qu'elles représentent. La beauté de la chose, c'est qu'il fonctionne sur les cellules qui ne contiennent que des nombres avec une apostrophe en tête, rien d'autre - c'est-à-dire qu'il ne touchera pas les cellules qui contiennent une apostrophe - un espace (ou deux) - puis un nombre, ou les cellules qui contiennent un O majuscule au lieu d'un zéro ou toute autre anomalie que vous souhaitez corriger à la main.