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]