IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Effacer des données ? [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    responsable imprimerie municipale
    Inscrit en
    Septembre 2013
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : responsable imprimerie municipale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 65
    Par défaut Effacer des données ?
    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

  2. #2
    Membre confirmé
    Homme Profil pro
    responsable imprimerie municipale
    Inscrit en
    Septembre 2013
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : responsable imprimerie municipale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 65
    Par défaut
    Bonjour,


    j'ai bien avancé:

    - import des xml dans toutes les feuilles OK

    - j'ai mis en place une ligne pour effacer chaque feuille avant l'import.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ws.ListObjects(1).DataBodyRange.Row.Delete xlShiftUp
    j'ai le message d'erreur suivant: "qualificateur incorrect"

    et je ne trouve pas pourquoi.

    voici le code complet de ma macro.


    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
    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

    merci pour votre aide


    Daniel

  3. #3
    Membre confirmé
    Homme Profil pro
    responsable imprimerie municipale
    Inscrit en
    Septembre 2013
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : responsable imprimerie municipale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 65
    Par défaut
    j'ai trouvé il manque un "s" à "row".

    voila tout fonctionne.

    un grand merci à ceux qui mon fait avancer.

    daniel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. effacement des données apres logout
    Par horkets dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 28/10/2008, 23h17
  2. sauvegarde avec effacement des données précédentes
    Par cbleas dans le forum Administration
    Réponses: 2
    Dernier message: 15/09/2008, 11h03
  3. Effacer des données sur un DVD-RW
    Par vg-matrix dans le forum Composants
    Réponses: 2
    Dernier message: 08/09/2008, 09h01
  4. Effacer des données dans un formulaire après une recherche
    Par PFX dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 09/01/2008, 11h00
  5. changer le type d'un champs d'une table = effacement des données ?
    Par pierre2410 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/05/2007, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo