Effacer ligne dans plusieurs fichiers

seb2

XLDnaute Nouveau
Bonjour à tous,

Je voudrais effacer les 10 premières lignes de tous les fichiers xls d'un même dossier. Tous les fichiers xls sont sur le même format et les 1ere lignes sont inutiles. Qu'un a-t-il une solution par macro pour automatiser tout cela (qq dizaines de fichiers à traiter régulièrement)

Merci d'avance

Seb2
 

mromain

XLDnaute Barbatruc
Re : Effacer ligne dans plusieurs fichiers

Bonsoir seb2,

Voici un essai :
VB:
Sub test()
Dim dossierXls As Object, fichierXls As Object, classeurXls As Workbook, pathDossier As String

    'récupérer le dossier contenant les fichiers excel
    pathDossier = "C:\Documents and Settings\Joel\Bureau\Miki\Nouveau dossier"
    Set dossierXls = CreateObject("Scripting.FileSystemObject").GetFolder(pathDossier)
    
    'boucler sur chaque fichier du dossier
    For Each fichierXls In dossierXls.Files
        'vérifier qu 'il s'agit bien d'un fichier .xls
        If fichierXls.Name Like "*.xls" Then
            'ouvrir le classeur
            Set classeurXls = Application.Workbooks.Open(fichierXls.Path)
            'supprimer les 10 premières ligne de la première feuille du classeur
            classeurXls.Sheets(1).Rows("1:10").Delete
            'fermer le classeur en sauvegardant les données
            classeurXls.Close True
        End If
    Next fichierXls
    
End Sub

A+
 
Dernière édition:

seb2

XLDnaute Nouveau
Re : Effacer ligne dans plusieurs fichiers

Bonjour Mromain,

J'ai testé ça marche très bien ! Merci beaucoup

j'ai voulu améliorer la marco, j'ai remplacé le chemin du repertoire par :
repertoire = ThisWorkbook.Path
par contre la macro essais d'effacer les lignes du fichier ou est enregistrer la macro (normal), y-a-t-il un moyen pour dire à la macro d'eviter le fichier en question ?

Merci

Seb2
 

mromain

XLDnaute Barbatruc
Re : Effacer ligne dans plusieurs fichiers

Bonjour Seb2, la forum,


Essaye avec cette modification :
VB:
Sub test()
Dim dossierXls As Object, fichierXls As Object, classeurXls As Workbook, pathDossier As String

    'récupérer le dossier contenant les fichiers excel
   pathDossier = "C:\Documents and Settings\Joel\Bureau\Miki\Nouveau dossier"
    Set dossierXls = CreateObject("Scripting.FileSystemObject").GetFolder(pathDossier)
   
    'boucler sur chaque fichier du dossier
   For Each fichierXls In dossierXls.Files
        'vérifier qu 'il s'agit bien d'un fichier .xls
       If fichierXls.Name Like "*.xls" And fichierXls.Path <> ThisWorkbook.Path & "\" & ThisWorkbook.Name Then
            'ouvrir le classeur
           Set classeurXls = Application.Workbooks.Open(fichierXls.Path)
            'supprimer les 10 premières ligne de la première feuille du classeur
           classeurXls.Sheets(1).Rows("1:10").Delete
            'fermer le classeur en sauvegardant les données
           classeurXls.Close True
        End If
    Next fichierXls
   
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 950
dernier inscrit
Thomas Solioz