Problème format date

8pour-forum2.xlsm (257.08 Ko)

Bonjour à tous,

Je me trouve face à un problème de date.

Je reçois un fichier (voir pièce jointe).

La colonne date comptable est au format standard avec la date sous cette forme: 12.01.2018

Je souhaite transformer ce format standard en date. Je remplace donc les . par des /.

Je n'ai pas le choix car je souhaite séparer année, mois, semaine, jour dans des colonnes séparées via les formules =mois(XX), ...

Ces formules ne fonctionnent que quand la date est au format "date" avec des / et non des .

Mon soucis c'est que par moment, xls inverse les mois et les jours. Je me retrouve donc avec 01/12/2018 alors que j'avais au départ 12.01.2018.

J'ai fait une macro pour automatiser mais c'est elle qui fait tout foirer. Quand je fais un CTRL+H pour remplacer le . par le /, il n' y a pas d'inversion du jour et du mois.

Voir la cellule E12088 le 8 février 2018 est devenu le 2 août 2018.

Avez vous une idée, ça me rend fou

un tout grand merci

Bonjour,

Ton fichier xlsx ne comporte pas de macro !...

Sinon pour convertir des dates texte, utilise Données, Convertir dans le ruban.

Cdlt.

voilà j'ai mis le bon fichier dans le message initial.

Je vais essayer, mais j'aimerais tout soit automatiser.

Je teste et je reviens vers vous

Merci.

Re,

Cette procédure va directement convertir ta colonne H en dates (numériques).

Cdlt.

Public Sub ConvertTextToDate()
Dim N As Long, rng As Range
    With ActiveSheet
        N = .Cells(.Rows.Count, 8).End(xlUp).Row
        Set rng = .Cells(6, 8).Resize(N - 5)
        rng.TextToColumns Destination:=.Cells(6, 8), _
                          DataType:=xlDelimited, _
                          FieldInfo:=Array(1, 4)
    End With
End Sub

A te relire.

Cdlt.

Bonjour, Salut Jean-Eric !

Autre solution :

Sub ladate()
    With Worksheets("XP")
        For Each c In .Range("H6:H" & .Range("H" & .Rows.Count).End(xlUp).Row)
            c.Offset(, -1) = DateValue(Replace(c, ".", "/"))
        Next c
    End With
End Sub

Conversion dans la colonne précédente pour visualiser, mais on peut le faire dans la même colonne.

Ces formules ne fonctionnent que quand la date est au format "date" avec des / et non des .

Non ! les formules fonctionneront si ce sont des données Date, quel que soit le format sous lequel elles apparaissent (format découlant du format de cellule... à ne pas confondre avec le format de saisie exigeant séparateur "/" ou "-" (paramètres FR) pour que la saisie qui est du texte au départ soit reconnue comme date par Excel et stockée sous forme numérique).

L'inversion mois/jour résulte d'une conversion sauvage en date par VBA sur la base d'une reconnaissance selon les formats américains. Il convient toujours de convertir (avec CDate ou DateValue) les dates lors de l'affectation pour forcer VBA à effectuer la reconnaissance à partir des paramètres régionaux de Windows).

Cordialement.

Merci, toutes vos propositions fonctionnent!

Merci

On peut fermer

Rechercher des sujets similaires à "probleme format date"