Conversion de date Excel de aaaammjj en mm/jj/aaaa

Je cherche depuis environ une heure comment faire cela dans Excel.

J’ai un fichier Excel qui a été créé à partir d’un ancien système et je récupère des informations depuis une base de données SQL Server. Je vais réinjecter les informations dans la base de données SQL Server et j’aimerais que les dates correspondent.

J’ai essayé de créer un format personnalisé, mais je ne suis pas sûr de l’avoir fait correctement. J’ai trouvé plusieurs endroits où les gens veulent faire l’inverse, de mm/dd/yyyy vers yyyymmdd, mais cela ne m’a pas aidé.

Je ne suis pas familier avec l’utilisation de VBA dans les produits Microsoft, sinon je suis sûr que ce serait une tâche simple.

J’ai deux colonnes distinctes qui doivent être modifiées.

Comment puis-je formater la colonne entière de (float)yyyymmdd vers (Date)mm/dd/yyyy ?

Vous pouvez convertir la valeur en date en utilisant une formule comme celle-ci, à côté de la cellule :

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

Où A1 est le champ que vous devez convertir.

Alternativement, vous pourriez utiliser ce code en VBA :

Sub ConvertYYYYMMDDToDate()
   Dim c As Range
   For Each c In Selection.Cells
       c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
       'Following line added only to enforce the format.
       c.NumberFormat = "mm/dd/yyyy"
   Next
End Sub

Il suffit de sélectionner les cellules que vous souhaitez corriger et d’exécuter le code.

Notez, comme RJohnson l’a mentionné dans les commentaires, que ce code produira une erreur si l’une de vos cellules sélectionnées est vide. Vous pouvez ajouter une condition sur c.value pour ignorer la mise à jour si la cellule est vide.