1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Ouvrir tous les fichiers d'un même répertoire, en evitant les fichiers corrompus

Discussion dans 'Forum Excel' démarrée par Alban.aktisea, 14 Septembre 2018.

  1. Alban.aktisea

    Alban.aktisea XLDnaute Nouveau

    Inscrit depuis le :
    4 Novembre 2014
    Messages :
    39
    "J'aime" reçus :
    1
    Bonjour à tous j'ai besoin d'un ptit coup de pouce.

    Je vous passe les détails de ma mésavanture, mais en gros je doit ouvrir tout les fichier xls (environ 500 000) lol, d'un répertoire, et si le fichier possède une feuille en particulier alors le fichier doit être sauvegardé dans un autre répertoire.

    Jusque la tout va bien ça fonctionne,

    Par contre quand un fichier corrompus .xls s'ouvre ma macro plante. Est ce que quelqu’un aurait une solution pour éviter que ma macro s’arrête si elle ouvre un fichier corrompu?

    Merci d'avance, la solution me fera gagner beaucoup beaucoup de temps.
     

    Pièces jointes:

  2. Chargement...

    Discussions similaires - Ouvrir tous fichiers Forum Date
    XL 2010 [Résolu] Macro boucle ouvrir tous les fichiers d'un répertoire Forum Excel 16 Janvier 2017
    [Résolu par Roland_M] Boîte de dialogue ouvrir(Tous types de fichiers) Forum Excel 23 Juillet 2014
    Ouvrir tous les fichiers .csv du dossier courant [VBA] Forum Excel 29 Mars 2012
    VB : ouvrir tous les fichiers .xls d'un dossier Forum Excel 31 Décembre 2008
    Ouvrir tous les fichiers contenus dans le répertoire courant Forum Excel 30 Septembre 2007

  3. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    25033
    "J'aime" reçus :
    2041
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonsoir Alban.aktisea,

    Ce code tient la route :
    Code (Text):
    Sub OuvrirFichiers()
    Dim Chemin As String, Fichier As String
     
    Chemin = "C:\Users\Alban\Desktop\Nouveau dossier (2)\" '//////// DOSSIER OU CHERCHER
    Fichier = Dir(Chemin & "*.xls")

    Application.DisplayAlerts = False
    On Error Resume Next

    While Fichier <> ""
        If Fichier <> ThisWorkbook.Name Then
            Workbooks.Open Chemin & Fichier
            If ActiveWorkbook.Name = Fichier Then 'si le fichier a été ouvert
                If ActiveWorkbook.Sheets("Sélection") Is Nothing Then Else Call Sauvegarde
                ActiveWorkbook.Close
            End If
        End If
        Fichier = Dir
    Wend

    End Sub

    Sub Sauvegarde()
    ActiveWorkbook.Sheets("Durée").Visible = xlSheetVisible ' AFFICHE LA FEUILLE DUREE
    ActiveWorkbook.SaveAs "C:\Users\Alban\Desktop\NEW\" & ActiveWorkbook.Name
    End Sub
    Edit : "save" est un mot réservé, j'utilise le nom "Sauvegarde".

    500 000 fichiers ??? Vous plaisantez j'espère !!!

    A+
     
    Dernière édition: 15 Septembre 2018 à 08:56
    Alban.aktisea aime votre message.
  4. Alban.aktisea

    Alban.aktisea XLDnaute Nouveau

    Inscrit depuis le :
    4 Novembre 2014
    Messages :
    39
    "J'aime" reçus :
    1
    Merci milles fois (*500) lol, pour votre aide job75

    Oui 500 000, c'est une récupération d'un disque dur effacé malencontreusement

    MERCI ENCORE ;).
     
  5. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    25033
    "J'aime" reçus :
    2041
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonjour Alban.aktisea,
    A raison de 1,5 seconde par fichier (chez moi) il faudra 8 jours et 16 heures...

    A+
     
  6. Alban.aktisea

    Alban.aktisea XLDnaute Nouveau

    Inscrit depuis le :
    4 Novembre 2014
    Messages :
    39
    "J'aime" reçus :
    1
    Il sont pas trop lourd, sa tourne aux alentours de 2-3 à la secondes
     

Partager cette page