Lors de l’export de données de Microsoft Project Portfolio server 2007 vers un poste client avec des paramètres régionaux Français, on constate que les dates ne sont pas correctement affichées

dans Microsoft Excel à l’ouverture du fichier ; ces dates restent au format US et Microsoft Excel ne peut pas les interprêter convenablement ; pour une meilleure lisibilité, il faut les transformer dans Microsoft Excel ; cet article propose une solution automatique (ou presque) afin de pouvoir ouvrir le fichier Excel directement avec les dates au format Français.

 

Voici un scénario qui illustre la problématique sur l’environnement virtuel nommé EPM2007 demo VPC fourni par Microsoft.

1) Démarrer la VPC EPM2007 demo

2) Depuis une machine cliente dont les paramètres régionaux sont en Franças, naviguer vers http://epm2007demo:85/PortfolioServer/104/Project.aspx
3) Cliquer sur Settings
4) Cliquer sur Data Transfer
5) Cliquer sur Project data Export
6) Dans Organization Hierarchy , sélectionner Finance
7) Sélectionner tous les projets et ajoutez les à l’aide des boutons de type flêche; Ajouter le champs Cost également
8) Cliquer sur Export
9) Ouvrir le fichier Excel

Résultat obtenu :
Les dates restent au format EN-US (MM/DD/YYYY)

Résultat désiré :
Les dates passent au format Français (DD/MM/YYYY)

Solution proposée :

1)    Au lieu d’ouvir le fichier Excel comme le propose l’étape 9, utiliser le bouton “Enregistrer” afin d’enregistrer le fichier Excel sur le bureau.
2)    Lancer le script VBS ci-dessous

Ce script VBS est fourni à titre d’exemple.
Ce script  va ouvrir le fichier Excel que l’on vient d’enregistrer sur le bureau, utiliser une macro VBA qui va enregistrer le fichier sous un autre nom  (toujours sur le bureau ) en utilisant les méthodes VBA de Microsoft Excel , ce qui permettra d’arriver au résultat désiré.
(Il est possible que le chemin du répertoire doive être changé pour correspondre à votre profil utilisateur.)

 

3) Le fichier Projets2.csv est créé sur le bureau et peut être ouvert avec les dates au format Français (DD/MM/YYYY)

Voici le Code VBS à utiliser :

********************************************************************

dim sFile
dim XLApp

Set XLApp = createobject("Excel.Application")

Set WshShell = CreateObject ("WScript.Shell")
Vartest = WshShell.ExpandEnvironmentStrings ("%userprofile%") & ("\Desktop")
'Wscript.echo Vartest

'Open the CSV file using English REgional settings (default behavior in VBA)
xlapp.workbooks.open vartest & "\Projects.csv"

'Save the Workbook using the local regional settings
xlapp.ActiveWorkbook.SaveAs Vartest & "\Projects2.csv" , 6, , , , , , , , , , True

xlapp.activeworkbook.close false
xlapp.quit

set xlapp=nothing

********************************************************************

Bruno Sgorlon