Bonjour à tous,
J'ai un problème tout bête lors d'un copier-coller via vba, mais qui devrait parler à bon nombre d'entre vous : la reconnaissance du format de date.
Voilà le code :
Les données sources sont en date française, format texte, et la copie s'effectue bien, mais quand on y regarde de plus près, les dates sont interprétées comme des dates anglo-saxonnes lorsque c'est possible (jour inférieur à 12) et comme du texte dans les autres cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets("XXXXXX").Range("H" & l & ":H" & l + Fin - Debut).Value = Sheets("YYYYYYY").Range("W" & Debut & ":W" & Fin).Value
(J'ai mis un moment à piger le truc, mais comme les interprétation avaient l'air d'être faite au hasard, et que le hasard n'a pas sa place en informatique basique, je me suis dit que c'était autre chose…)
Un [F2] ou [double-click] sur la cellule et [ENTREE] et l'interprétation en date française se fait. Mais à 12 000 lignes, c'est chiant...
L'interprétation est indispensable, car j'ai besoin d'un regroupement par date dans un TCD.
J'ai essayé de forcer le format dans la feuille de destination, et de ruser dans la macro (à l'aune de ce que j'ai pu lire ça et là sur le forum, mais sans vraiment le comprendre), mais sans succès. Par exemple :
Du coup, j'ai bien en tête un ou deux trucs qui pourrait marcher, soit en utilisant une boucle qui irait chercher les différentes séries de caractères pour les jours, mois et années et reconstruisant la date, soit en ajoutant une colonne avec formule dans le fichier destination, mais je trouve que ce n'est pas très propre (et je suis un esthète
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For Each cell In Sheets("XXXXXXXX").Range("H" & l & ":H" & l + Fin - Debut) cell.NumberFormat = "dd/mm/yyyy;@" Next) et surtout, je ne suis même pas sûr que ça résolve le problème d'interprétation.
Est ce que vous auriez une idée ?
Merci.
Jodko.
Partager