Bonjour
En utilisant win32com, je créer des fichiers excel dans lesquels j'insère des dates.
Ce bout code marche très bien:
Je souhaite forcer le format de la date (essai entre commentaire), mais je n'y arrive pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import win32com.client # open excel excel = win32com.client.Dispatch('Excel.Application') excel.Visible = 1 workbook = excel.Workbooks.Add() worksheet = excel.Worksheets[0] worksheet.Name = "Données" worksheet.Cells(1,1).Value = "Date/Heure" worksheet.Cells(2,1).Value = "25/12/2008 12:30:05" #worksheet.Cells(2,1).NumberFormat = "dd/mm/yyyy hh:mm" workbook.SaveAs( "toto.xls" ) excel.Quit()
Je ne suis pas un expert de ce genre de manipulation, cependant, empiriquement en enregistrant les macros, puis en les éditant, je trouvais des pistes.
Par exemple ici une macro qui impose un format pour la date:
En général, je trouvais comment utiliser une fonction précise.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Macro1() ' ' Macro1 Macro ' Macro enregistrée le 08/07/2009 par E. Dumas ' ' Range("A2").Select Selection.NumberFormat = "d/m/yy h:mm;@" End Sub
Cependant dans ce cas précis, la ligne :
me donne cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 worksheet.Cells(2,1).NumberFormat = "dd/mm/yyyy hh:mm"
worksheet.Cells(2,1).NumberFormat = "dd/mm/yyyy hh:mm"
File "C:\dlbi\Python25\Lib\site-packages\win32com\client\dynamic.py", line 538, in __setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
pywintypes.com_error: (-2147352567, "Une exception s'est produite.", (0, u'Microsoft Excel', u'Impossible de d\xe9finir la propri\xe9t\xe9 NumberFormat de la classe Range.', u'C:\\Program Files\\Microsoft Office\\Office10\\1036\\xlmain10.chm', 0, -2146827284), None)
Est-ce que quelqu'un peut m'aider sur comment mettre dans cette cellule la date à un certain format.
Cordialement
Emmanuel
Partager