Effacer ligne dans plusieurs fichiers

  • Initiateur de la discussion Initiateur de la discussion seb2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

seb2

Guest
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
 
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:
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
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour