J'ai utilisé la macro pour trouver et la fonction de remplacement pour modifier la chaîne à ce jour. Cela a bien fonctionné avec certaines des dates mais a mal tourné aussi.
Le code que j'ai utilisé est: la chaîne d'origine est mais quand j'ai utilisé la macro, il a été converti en Le code a bien fonctionné si le jour est plus grand que 12. p> par exemple Tout le monde peut aider avec le code pour le faire fonctionner correctement? P> Merci beaucoup. P> P> "11.01.2019" code> et la date doit être 11/01/2019 code> qui est 11 janvier 2019 code>. p> 01/11/2019 code>, qui est "13.01.2019" code> sera converti en 13/01 / 2019 code> correctement. P>
3 Réponses :
Ceci arrive lorsque Puis le délimiteur de date par défaut est Solution de contournement: P> Utiliser Gamme.TextTocolumns à la place. P> Windows code> Paramètres régionaux indique Excel code> que anglais code> Format de date d / m / y code> doit être utilisé. / code> comme dans EN_US aussi, mais la séquence des pièces de date diffère de EN_US ( m / d / y code>). Lorsque VBA code> est exécuté, il fonctionne toujours dans les paramètres de paramètres régionaux EN_US et qu'il obtient donc 11/01/2019 code> pour être novembre 1. 2019 dans VBA code> déjà . Mais 13/01/2019 code> n'est pas une date dans EN_US. Donc vba code> ne le convertit pas en une date. Le Excel code> puis convertit la chaîne "13/01/2019" dans la date correcte en fonction des Settigs régionaux de Windows. P> Worksheets("Sheet 1").Columns("H:H").TextToColumns Destination:=Range("H1"), DataType:=xlDelimited, FieldInfo:=Array(1, xlDMYFormat)
Bonjour Axel Richter. Merci pour ton aide! Cela a bien fonctionné!
Je me souviens que VBA assume automatiquement NOTE DE DATE AMERIAN .
Essayez:
Ce qui suit construira une date dans AAAAY-MM-DD au format CODE>, qui doit être acceptée, quelle que soit votre localité et renseigner la cellule en conséquence (mais formatée en fonction de vos paramètres système). Dim r As Range, cell As Range
Set r = [H2:H999] ' or wherever your data is
For Each cell In r
cell = Right(cell, 4) & "-" & Right(Left(cell, 5), 2) & "-" & Left(cell, 2)
Next cell
Les chaînes originales sont-elles systématiquement formatées comme
dd.mm.yyyy code> ou certains d'entre eux ont-ils des jours ou des mois à un chiffre?Salut Jsheeran. Merci pour votre réponse. Oui les chaînes d'origine sont systématiquement formatées comme dd.mm.yyyyy