Bonjour à tous,

Un petit problème avec ma macro:

Elle me permet d’importer plusieurs xml dans une même feuille bout à bout.

Ce fichier reste ouvert toute la journée et je lance la macro via un bouton de temps en temps afin de rapatrier les fichiers xml qui peuvent ou non changer.

Mon problème est le suivant:

Quand je lance la macro elle recopie les xml dans la feuille mais comme il existe déjà des données elle les met à la suite.
Il faudrait donc effacer la feuille avant de réimporter.
À noter la feuille s’appelle "janvier" important car je vais étendre la macro à 11 autres feuilles.

Infos: la feuille possède un mappage et je ne sais pas comment faire pour effacer les données contenues dans celui-ci.

À l’avance merci pour votre aide.


Daniel





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
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
Sub ActuDonneesClasseur()
'
' ActuDonneesClasseur Macro
' Macro enregistrée le 05/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
 
'-------------- Retrait de la protection de tous les onglets ------------------------
For Each ws In ThisWorkbook.Worksheets
   ws.Unprotect Password:=""
Next ws
 
 
Repertoire = ThisWorkbook.Path & "\janvier\"
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_Jan").Import URL:=Repertoire & Fichier
    If (Err.Number <> 0) Then Kill (Repertoire & Fichier)                            'S'il y a eu un pb lors de l'importation on suprime le fichier XML afin d'éviter les fichiers XML mauvais
    Fichier = Dir()
Wend
 
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