Yyyy ou jjjj

Bonjour,

J'ai tenté de cherché si un post sur mon sujet avait déjà été crée mais sans succès. Voici donc ma question:

J'ai crée une petite macro qui se base en autre sur une cellule d'un fichier xls. Cette cellule contien la formule suivante: =TEXT(I1;"jjjj-MM-tt") (où I1 contient today() ). Certaines personnes ont leurs paramètres régionaux en allemand. C'est pouquoi on a "jjjj" par exemple. Mais d'autres ont leur paramètres régionaux en anglais ou en francais. Je ne trouve pas de moyen de m'affranchir de ces paramètres pour convertir universellement les années, les mois, les jours.

Merci d'avance pour votre aide.

Bonjour et bienvenue

A tester : remplace la formule par

 =I1

en passant le format de cellule en personnalisé jjjj-mm-aa

Je pense que de cette façon le format s'adapte à la version.

Amicalement

Nad

Bonjour Nad, et merci pour cette rapide réponse.

Malheureusement ca ne marche pas. J'avais initialement fait ma macro en me basant sur la cellule I1 avec cette affichage. Dans la macro, ca prend la valeur réelle soit 28/10/2009 et non le 2009-10-28 affiché.

Par contre effectivement à l'affichage ca marhe parfaitement quelque soit le paramétrage du PC (si ca peut servir à qqn).

Si ca ne marche pas dans xls, je me dis que la conversion dans VB est tout aussi faisable et efficace. Mais je ne connais pas l'équivalent de TEXT dans VB. Ce serait une bonne alternative.

Amicalement

Yorgoh

Autre possibilité qui me vient à l'esprit: copier la valeur "affichée" (dans ma macro je recupere "value" de ma cellule cible (contenant TEXT). J'ai tenté avec value2, mais j'ai l'impression que ca me donne la valeur de la date au format numerique. Je ne vois pas la propriété de "Range" permettant de récupérer la valeur affichée.

Re

Tu peux poster ton code STP ?

Nad

Je te pousse le debut de la macro qui est la seule presentant un interet (apres je ne fait qu'utiliser la valeur dans une boucle "for"

Sub UpdateEmployeesFiles()

'

' Macro1 Macro

'

Sheets("LAST").Select

ValueDate = Range("J1").Value

J1 contient la date du jour au format "yyyy-mm-dd"

La date est utilisé dans le nom du fichier de destination (j'extrait plusieurs fichiers à parir de mon fichier initial, ils portent la date du jour dans le nom car c'est une opération itérative.

ValuePath = "G:\Axone\Administration\Holidays\" + ValueEmployeeFull + "\" + ValueDate + " - holidays " + ValueEmployee + ".xls"

ActiveWorkbook.SaveAs Filename:=ValuePath, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _

ReadOnlyRecommended:=False, CreateBackup:=False

bonjour à yorgoh, nad, forum,

et si à la place de :

ValueDate = Range("J1").Value

tu mettais :

ValueDate = Format(Range("I1"), "yyyy-mm-dd")

Sachant que dans la cellule I1 ya le today()

pas sûr de moi

Du grand art!! Ca marche! Je l'ai testé en changeant les paramètres régionnaux.

Merci beaucoup

Rechercher des sujets similaires à "yyyy jjjj"