Pb date inversée

Tibo

XLDnaute Barbatruc
Bonjour à tous,

Je suis comptable et j'utilise un logiciel (Coala) qui permet de copier le Grand Livre dans le presse-papier (en vue de le coller dans Excel).

Lorsque je colle ce Grand Livre manuellement dans Excel (avec un Ctrl V), pas de problème.

Par contre, si je demande de faire le 'Copier' via une macro simple (?) avec :

ActiveSheet.Paste

je me retrouve avec des dates inversées lorsque le jour est inférieur ou égal à 12

Exemple : le 01/04/2005 devient le 04/01/2005
et le 30/03/2005 reste 30/03/2005

Pour info, les dates sont collées dans la colonne B. J'ai essayé de mettre la colonne B au format dd/mm/yyyy avant le collage, mais sans succès.

D'après ce que je comprends, la macro tente de mettre les dates au format anglais et le fait si c'est possible. On se retrouve donc avec des 'dates' qui sont en fait au format texte et d'autres qui sont au format numérique.

Que faut-il ajouter au niveau de la macro pour que les dates conservent le bon format.


Merci pour vos réponses

et bon dimanche à tous

@+
 

chris

XLDnaute Barbatruc
Bonjour
C'est un problème assez ancien sur Excel : il existe aussi dans l'autre sens. Si on exportait des dates dans un fichier texte on n'avait pas le même résultat en manuel et en macro.
Quelques pistes :
essayes d'utiliser collage spécial texte sans mise en forme en gardant ta colonne formaté en date US ou bien formatée en texte.
Si cela marche tes dates seront en texte et facile à transformer par une formule.

Tu peux aussi changer, le temps du copier coller, tes paramètres régionaux Windows.

Dernière solution coller dans un fichier texte (Word ou le blocnote si ce n'est pas trop gros).
Lors de l'imprortation du texte tu peux paramètrer chaque champ et donc préciser le sens des dates.

Message édité par: chris, à: 19/02/2006 10:46
 

Tibo

XLDnaute Barbatruc
Bonjour à Chris, à JC, rebonjour au Forum,

Chris et JC,

Merci de vous être penchés sur mon problème. J'ai essayé vos solutions, mais sans grand succès (il faut dire que je suis grand débutant en VBA :whistle: )

J'ai cependant trouvé une solution qui consiste à insérer une colonne juste après la date, puis à y insérer cette formule (le tout via la macro) :

=SI(ESTEXTE(A1);A1*1;DATE(ANNEE(A1;JOUR(A1);MOIS(A1)))

Avec une recopie vers le bas puis un Copier/Collage Spécial/Valeur puis suppression de la colonne Date initiale.

Bon..., ça marche, mais ce n'est sûrement pas du grand VBA...

Si d'autres Forumeurs Vbaïstes passent et ont trouvé comment traiter ce problème, je serais curieux de voir leur solution.


Bon dimanche et bon appêtit.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 881
Membres
103 981
dernier inscrit
vinsalcatraz