La fameuse inversion du jour et du mois VBA

Fermé
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011 - 12 mars 2010 à 10:23
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 - 15 mars 2010 à 11:18
Salut,

J'ai fouille un peu sur le net pour voir pourquoi lorsque je cree une macro pour formater des date, VBA m'inverse le jour et la date.
J'ai donc vu que pas mal de personnes galere... et moi aussi.
Donc, un ptit coup de pouce serait le bien venu, je m'explique,


voila ma fonction qui me permet (a la main) de reformater des dates qui sont dans une colonne K (car je me sert de ces dates dans une autre feuille et ai besoin de les reformater ainsi pour qu'elle sorte sous la forme jj/mm/aaa)
En le faisant a la main, cela marche parfaitement, mais je souhaite creer une petite macro qui me permette de la faire, et cette macro ci dessous m'inverse le jour et le mois.
Apres mes recherches, j'ai vu que la fonction Cdate permettait d'eviter au programme de faire ctte inversion, cependant, etant un debutant en VBA, je ne sait pas (apres plusieurs essais) comment ecrire la fonction...

Peut etre que je m'y prend tres mal mais voila:

Sheets("Feuille1").Select
Columns("K:K").Select
Selection.TextToColumns Destination:=Range("K1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(10, 1)), TrailingMinusNumbers:=True
Sheets("Feuille2").Select

Si quelqu'un a une idee cela m'aiderai beaucoup.

Merci
A voir également:

7 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
15 mars 2010 à 11:18
Salut
essaie avec TEXTE(K3;"jj/mm/aaaa") au lieu de K3 :)
1
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
12 mars 2010 à 10:47
Salut,
pourrais-tu stp poster un exemple de fichier avec tes valeurs en colonne K (www.cjoint.com) ?
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
12 mars 2010 à 10:59
Bonjour,
essaye avec..
    Columns("K").NumberFormat = "dd/mm/yyyy"

A+
0
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011
12 mars 2010 à 11:04
Je regarde ce que je peut faire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011
12 mars 2010 à 12:21
En fait j ai regarde un peu sur mon fichier et je croi que le probleme n'est pas vraiment ou je pensait.

ce au'il se passe en fait, c'est que j'ai ces dates dans la colonne K et plein d'autres info entre les collones C et S.

Mon objectif, c'est d'utiliser un fonction concatenate dans la colonne B, celle ci fonctionne bien sauf pour les dates, car lorsque je lance le concatenate, la date sous format dd/mm/yyyy devient un nombre a 5 chiffre qui doit etre une reference propre a Excel.

Exemple, la date 15/05/2010 sous cette forme dans la colonne K devient 40313 dand mon concatenate.

Pourquoi? perso j'y comprend rien y'a t'il une fonction que l'on peut rajouter dans le concatenate au niveau du K3?

je vous donne ma formule:

=CONCATENATE(H3;" ";I3;". ";;"Obs: ";L3;" id: ";C3;" Art: ";E3;" Cli: (";M3;"). ";S3;" L. ";;R3;" Unids. FI: ";K3;". FD: ";O3)

Merci
0
Pourquoi? perso j'y comprend rien y'a t'il une fonction que l'on peut rajouter dans le concatenate au niveau du K3?
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
13 mars 2010 à 17:20
Mais oui, la date est convertie en date sériale, numéro qui commence à l'anée 01/01/1900.
Tu peu employer ce nombre comme une date en formattant la colonne. ou avec DateValue si c'est en VBA.
Et c'est ce qu'il y a de mieux, vu que tu peu aussi l'afficher comme tu veux avec "Format".
A+
0