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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| Sub ActuDonneesClasseur()
'
' ActuDonneesClasseur Macro
' Macro enregistrée le 06/10/2013 par PLANCOT DANIEL
'
'
On Error Resume Next
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim Repertoire As String
Dim Fichier As String
Dim ws As Worksheet
Dim lemois As String
'-------------- Retrait de la protection de tous les onglets ------------------------
For Each ws In ThisWorkbook.Worksheets(Array("janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "decembre"))
ws.Unprotect Password:=""
ws.ListObjects(1).DataBodyRange.Row.Delete xlShiftUp
lemois = ws.Name
Repertoire = ThisWorkbook.Path & "\" & lemois & "\"
Fichier = Dir(Repertoire & "*.xml") ' recherche des fichiers .xml dans le répertoire FichiersXMLindicateurs
While Fichier <> "" ' On importe les données de tous les fichiers xml trouvés dans le mappage releves_Travaux_Imprimerie
ThisWorkbook.XmlMaps("releves_Mappage_" & lemois).Import URL:=Repertoire & Fichier
If (Err.Number <> 0) Then Kill (Repertoire & Fichier) 'S'il n'y a pas eu de pb, une fois l'importation réalisée on suprime le fichier XML afin d'éviter les redondances de données
Fichier = Dir()
Wend
Next ws
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
If (Err.Number <> 0) Then GoTo plantage 'gestion des erreurs afin de prévenir l'utilisateur
MsgBox "Toutes les données ont été actualisées.", vbOKOnly + vbInformation, "Message"
Exit Sub
plantage:
MsgBox "Une erreur s'est produite : la mise à jour des données a échouée.", vbCritical
End Sub |
Partager