# -*- coding: iso-8859-1 -*- #. // _ex_WriteDate.py #. // Ecrit une cellule de format date. from datetime import date #from datetime import timedelta def ex_WriteDate( oSheet, nRow, nCol, dDate, cFormat = "jj/mm/aaaa" ): d1900 = date( 1899, 12, 30 ) cDiff = str( dDate - d1900 ) oSheet.Cells( nRow, nCol ).NumberFormat = cFormat oSheet.Cells( nRow, nCol ).Formula = int( cDiff[ : cDiff.find( " " ) ] ) return 0 ''' Dernière modification : 2022-02-13 [Exemple] import sys sys.path.append( "modules" ) from _ex_WriteDate import ex_WriteDate # // Ecrit une cellule de format date. from _ex_AutoFit import ex_AutoFit # // Ajuste la taille des cellules. from _ex_ExcelNew import ex_ExcelNew # // Ouvre Excel. from _ex_ReadDate import ex_ReadDate # // Lit une cellule de format date. oExcel = ex_ExcelNew() oBook = oExcel.Workbooks.Add() oSheet = oBook.Worksheets( 1 ) oSheet.Cells( 1, 1 ).Formula = 'Format : "25/12/2021"' ex_WriteDate( oSheet, 1, 2, date( 2021, 12, 25 ) ) oSheet.Cells( 2, 1 ).Formula = 'Format : "aaaa-mm-jj"' ex_WriteDate( oSheet, 2, 2, date( 2021, 12, 25 ), "aaaa-mm-jj" ) oSheet.Cells( 3, 1 ).Formula = 'Format : "aaaammjj"' ex_WriteDate( oSheet, 3, 2, date( 2021, 12, 25 ), "aaaammjj" ) dDate = ex_ReadDate( oSheet, 1, 2 ) print( '\nFormat "jj/mm/aaaa" :', dDate ) dDate = ex_ReadDate( oSheet, 2, 2 ) print( '\nFormat "aaaa-mm-jj" :', dDate ) dDate = ex_ReadDate( oSheet, 3, 2 ) print( '\nFormat "aaaammjj" :', dDate ) ex_AutoFit( oSheet ) oExcel.DisplayAlerts = False oExcel = None [/Exemple] '''