Bonjour,

Ludovic CHEVALIER a écrit :
Bonjour,

J'ai un tableur dans lequel j'ai des dates entrées au format texte du style '30/11/1979 .
Je souhaiterai les passer au format date AAAA-MM-JJ .
J'ai essayé en forçant le format des cellules, sans succès.
Il me semble avoir déjà réussit cette prouesse par le passé sans avoir à virer un a un les " ' " caractéristiques d'une cellule texte.

Merci de votre aide par avance.


S'il est possible de traiter le problème sans macro, cela nécessite cependant des étapes intermédiaires qui sont parfois génantes pour l'utilisateur.

Aussi voici une idée de script qui devrait répondre au besoin :

Sub CellTextToDate_AAAAMMJJ

 dim oDoc      as object
 dim oSheet    as object
 dim oCell     as object
 dim oLocale   as new com.sun.star.lang.Locale
 dim oFormatId as integer

 oDoc   = thisComponent
 oSheet = oDoc.getSheets().getByName( "Feuille1" )

 'Définition du format de la date
 oLocale.Language = "fr"
 oLocale.Country  = "FR"
 oFormatId = oDoc.NumberFormats.queryKey( "AAAA/MM/JJ", oLocale, True )

 if oFormatId = -1 then
  oFormatId = oDoc.NumberFormats.AddNew( "AAAA/MM/JJ", oLocale )
 end if

 'Boucle de traitement des cellules
 for iLigne = 1 to 5
  oCell              = oSheet.getCellRangeByName( "A" & iLigne )
  sCellContent       = Trim( oCell.String )
  oCell.NumberFormat = oFormatId
  oCell.Value        = DateValue( sCellContent )
 next iLigne

End Sub

Francois Gatto

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à