Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…