1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Option Explicit
Sub Rdv()
Dim iRowTab As Long
Dim F As Object
Dim FileName As String
'On pointe le tableau Structuré Table1
With Feuil1.ListObjects("Table1")
'On boucle sur les lignes du tableau
For iRowTab = 1 To .ListRows.Count
'On prépare le nom du fichier
FileName = ThisWorkbook.Path & "\" & .DataBodyRange(iRowTab, .ListColumns("Nom").Index) & "_" & .DataBodyRange(iRowTab, .ListColumns("Niveau de formation").Index) & ".ics"
'On crée le Fichier Agenda
Set F = CreateObject("adodb.stream")
F.Charset = "utf-8"
F.Open
'Entête
F.WriteText "BEGIN:VCALENDAR" & vbCrLf & "VERSION 2.0" & vbCrLf & "PRODID:-//EXCEL//FR" & vbCrLf & "BEGIN:VEVENT" & vbCrLf
'DTStart
F.WriteText "DTSTART:" & Format(.DataBodyRange(iRowTab, .ListColumns("Date de début de formation").Index), "mmddyy") & "T" & Format(.DataBodyRange(iRowTab, .ListColumns("HeureD").Index), "hhmm") & "00"
'DTEnd
F.WriteText "DTEND:" & Format(.DataBodyRange(iRowTab, .ListColumns("Date de fin de formation").Index), "mmddyy") & "T" & Format(.DataBodyRange(iRowTab, .ListColumns("HeureF").Index), "hhmm") & "00"
'D'ou viens Niv?
F.WriteText "SUMMARY:" & .DataBodyRange(iRowTab, .ListColumns("Niveau de formation").Index) & vbCrLf
F.WriteText "DESCRIPTION:" & .DataBodyRange(iRowTab, .ListColumns("Nombre de participants").Index) & vbCrLf
F.WriteText "LOCATION:" & .DataBodyRange(iRowTab, .ListColumns("Adresse du lieu de stage").Index) & vbCrLf
F.WriteText "END:VEVENT" & vbCrLf & "END:VCALENDAR"
F.SaveToFile FileName, 2
F.Close
Next
End With
End Sub |
Partager