Tu peux tenter avec un macro du type :
Code :
- Private Function MonthToInt(sMois As String) As Integer
- Dim iRetVal As Integer
-
- iRetVal = 0
-
- Select Case LCase(sMois)
- Case "janvier"
- iRetVal = 1
- Case "février"
- iRetVal = 2
- Case "mars"
- iRetVal = 3
- Case "avril"
- iRetVal = 4
- Case "mai"
- iRetVal = 5
- Case "juin"
- iRetVal = 6
- Case "juillet"
- iRetVal = 7
- Case "aout"
- iRetVal = 8
- Case "septembre"
- iRetVal = 9
- Case "octobre"
- iRetVal = 10
- Case "novembre"
- iRetVal = 11
- Case "décembre"
- iRetVal = 12
- End Select
-
- MonthToInt = iRetVal
- End Function
- Sub Macro1()
- Dim sTree() As String
- Dim sAnnee As String
- Dim sMois As String
-
- sTree = Split(ThisWorkbook.FullName, "\" )
-
- sAnnee = sTree(UBound(sTree) - 2)
- sMois = sTree(UBound(sTree) - 1)
-
- sMois = MonthToInt(sMois)
-
- For Each oWS In ThisWorkbook.Worksheets
- oWS.Range("A1" ).Value = Format(ows.Name & "/" & sMois & "/" & sAnnee, "dddd Dd mmmm yyyy" )
- Next
- End Sub
|
Remarques :
- l'appel à la fonction de transformation du mois en entier n'est nécessaire que si le répertoire du mois contient celui ci en lettre, il doit être possible de faire mieux mais j'ai récuppéré ça d'une macro faisant ce genre de choses...
- la macro écrit la date dans la case A1 de chaque feuillet
Message édité par Guru le 30-12-2003 à 16:01:46