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

Supprimer des lignes en Excel

  • Initiateur de la discussion Initiateur de la discussion hassen.km
  • 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 !

H

hassen.km

Guest
Bonsoir
J'ai 10000 fichiers d'extension .csv
Je veux supprimer les 24 premières lignes pour chaque fichier.
SVP, y'a t'il un programme permet d'exécuter ce travail automatiquement ?
Merci d'avance.
 
Re : Supprimer des lignes en Excel

Bonsoir
Peut être en faisant une macro et la mettant dans ton Classeur Personnel pour ensuite le mettre en bouton rapide (2007) comme ça à chaque ouverture, clic sur le bouton rapide et les 24 lignes se suppriment automatiquement.
Mais je pense que quelqu'un doit avoir la soluce sans même ouvrir les fichiers... une petite macro bien ficelée... lol
au plaisir
 
Re : Supprimer des lignes en Excel

Bonjour hassen,nat07 et le forum.

Tu ne nous donnes pas beaucoup d'explications sur la structure de tes fichiers!
Sont ils de structure identique ?
Sont ils tous dans une même racine?
Ont il une ligne de titres?
Un exemple avec, ce que tu as et ce que tu veux obtenir, en pièce jointe, nous donnera beaucoup de renseignements.

Cordialement
.
 
Re : Supprimer des lignes en Excel

Bonjour néné06,
Taille de chaque fichier : 1 colonne/ 3277 lignes.
Pour chaque fichier, Je veux supprimer les 24 premières lignes.
Les 10000 fichiers dans le même répertoire.
 

Pièces jointes

Re : Supprimer des lignes en Excel

bonjour a tous

J'ai ouvert ta pièce jointe.
Supposons que tes 10000 fichiers sont dans un dossier nommé "mes fichiers" sur le bureau ??
Supposons que les fichiers aient pour nom "fichier1";"fichier2";"fichier3"....."fichier10000" ??
But du travail:
Ouvrir les fichiers un après l'autre,supprimer les 24 premières lignes,sauver sous "fichier1mod"?

Est-ce exact??
donnes les noms des fichiers, le nom du dossier

A+
 
Re : Supprimer des lignes en Excel

Bonjour,

Voici le code :

mettre le code entre c'est balsie :

VB:
Sub delete()

Dim Repertoire As String, Fichier As String
Dim Wb As Workbook
Dim Ws As Worksheet
Dim i As Integer
 
Application.ScreenUpdating = False

' ***********************************************************************************************************

'Définit le répertoire de recherche
Repertoire = "C:\Test rows delete 24\"         ' Ici noté la racine de votre repertoire a adapter a votre ordi

' ***********************************************************************************************************

'Spécifie la recherche pour le fichiers .xls
Fichier = Dir(Repertoire & "*.csv")
 
'Boucle sur les fichiers du répertoire
Do While Fichier <> ""
    'Vérifie que le nom du classeur est différent du classeur
    'contenant cette macro (dans le cas ou il serait placé dans le même répertoire).
    If ThisWorkbook.Name <> Fichier Then
        'Ouvre chaque classeur
        Set Wb = Workbooks.Open(Repertoire & Fichier)
        
        
        'supprime les 24 premieres lignes de chaques classeur.
         For i = 24 To 1 Step -1
         Rows(i).delete
         Next i
        
        'Enregistrer le classeur modifier
        Wb.Save
        
        'Referme le classeur
        Wb.Close False
    End If
    
    Fichier = Dir
Loop
 
Application.ScreenUpdating = True
MsgBox "Terminé"

End Sub
VBA

Ps : mettre les milles fichiers dans le même dossier du repertoires, ouverture de chaque classeurs, suppression des 24 premiere lignes puis enregistrement et fermeture du classeur .csv

Changer l'adresse du chemin du dossier source dans la macro qui se situ entre les deux lignes avec étoile "****" dans la macro

Ps : Pour info sur cette page internet il y a des explications, et aussi un liens pour travailler vers des fichier fermer.

FAQ MS-Excel


laurent
 

Pièces jointes

Dernière édition:
Re : Supprimer des lignes en Excel

Bonjour àtous

Sinon, à tester en adaptant ce code (en changeant l'extension avec une petite boucle cela devrait le faire. Mettre les fichiers .csv dans le dossier C:\Test et créer un dossier C:\Test2 qui recevra les fichiers transformés). Dernier point: écrire C:\Test an A1.

Code:
'Public z As String
Sub Liste_Fichiers()
'http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/liste-fichiers-repertoire-sujet_57846_1.htm
'ChDir "C:\...Mon chemin....\Mes documents"
    Range("2:1000").Clear
    Range(Cells(2, 1), Cells(65536, 1)).Clear
    'Dim i As Integer, z As String
    ChDrive Left(Cells(1, 1), 1)
    ChDir Cells(1, 1).Value
    i = 1
    z = Dir("*.dvf", 1)    'dvf
    While z <> ""
        ActiveSheet.Cells(i + 1, 1).Value = z: Lecture_Ecriture (z)
        i = i + 1
        z = Dir
    Wend
    'MEF
End Sub
Sub Lecture_Ecriture(z)
'MJ
'Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
    Open Cells(1, 1) & "\" & z For Input As #1
    Open Cells(1, 1) & "2\" & z For Output As #2
    Print #2, "AAAAA"
    While Not EOF(1)
        Line Input #1, ligne
        Print #2, ligne
    Wend
    Close
End Sub
'Code Indenté avec Smart Indent
 
Dernière édition:
Re : Supprimer des lignes en Excel

Bonjour hassen.km, et MJ13

C’était avec plaisir, je vous remercie et je n'oublierais pas de remercier MJ13 Barbatruc qui sont vraiment très performant et toujours prêt à nous aider, est c'est en partis grâce à eux et a ce forum fort en partage que j'ai aussi appris.

Merci à vous tous

Laurent
 
Re : Supprimer des lignes en Excel

Re


Merci Laurent 🙂. Moi ausi , j'ai commencé comme toi.

On a tous été le petit de quelqu'un 😱.

Sinon, en reprenant le code voici ce que cela pourrait donner (mais j'ai pas testé. En fait j'ai repris le code d'un fichier que j'avais fait il ya pas longtemps pour istarOSX qui n'a pas répondu d'ailleurs 😱).

PS:Il me gave l'éditeur de code (bon, j'ai repris mon code du fichier et j'ai fait copier-coller avec les balises codes).🙁.

Code:
'Public z As String
Sub Liste_Fichiers()
'http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/liste-fichiers-repertoire-sujet_57846_1.htm
'ChDir "C:\...Mon chemin....\Mes documents"
    Range("2:1000").Clear
    Range(Cells(2, 1), Cells(65536, 1)).Clear
    'Dim i As Integer, z As String
    ChDrive Left(Cells(1, 1), 1)
    ChDir Cells(1, 1).Value
    i = 1
    z = Dir("*.csv", 1)    'dvf
    While z <> ""
        ActiveSheet.Cells(i + 1, 1).Value = z: Lecture_Ecriture (z)
        i = i + 1
        z = Dir
    Wend
    'MEF
End Sub
Sub Lecture_Ecriture(z)
'MJ
'Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
    Open Cells(1, 1) & "\" & z For Input As #1
    Open Cells(1, 1) & "2\" & z For Output As #2
    For i = 1 To 24
    Line Input #1, ligne
    Next
    While Not EOF(1)
        Line Input #1, ligne
        Print #2, ligne
    Wend
    Close
End Sub
'Code Indenté avec Smart Indent
 
Dernière édition:
Re : Supprimer des lignes en Excel

Bonjour MJ13

J’ai regardé votre code.

Je ne pense pas qu’il y est besoin de nettoyer les cellules dans les deux premières lignes de code ?
Range("2:1000").Clear
Range(Cells(2, 1), Cells(65536, 1)).Clear

Je ne comprends pas cette écriture de code, je pense que je dois apprendre mais cela m’intéresse.
ChDrive Left(Cells(1, 1), 1)
ChDir Cells(1, 1).Value
i = 1
z = Dir("*.csv", 1) 'dvf

Je comprends qu’il y a quelque choses dans la cellule A:1 est que vous chercher a gauche ('# Format : WORD) – 1 caractère = #

Ensuite cette boucle :

While z <> ""
ActiveSheet.Cells(i + 1, 1).Value = z: Lecture_Ecriture (z)
i = i + 1
z = Dir
Wend

Tans que Z est différent de vide ont continu.

Ici je ne comprends pas trop cela, pourquoi la cellule active : j’ai compris l’incrémentation avec le compteur.

ActiveSheet.Cells(i + 1, 1).Value = z: Lecture_Ecriture (z)

Lecture_Ecriture (z) = je comprends que c’est une fonction qui appel le résultat d’une autre procédure.


Et voila cette procédure avec un code «exemple : For Input As #1 » qui lit dans du fichier texte un autres code que du vba (une passerelle).

Sub Lecture_Ecriture(z)
'MJ
'Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
Open Cells(1, 1) & "\" & z For Input As #1
Open Cells(1, 1) & "2\" & z For Output As #2
For i = 1 To 24
Line Input #1, ligne
Next
While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Wend
Close
End Sub

J’aimerais bien apprendre ce code pour fichier texte, mais je suis incapable de reproduire cette opération pour teste.
Mais félicitation pour cette alternative, dont je me suis servi pour transformer des fichiers Excel en fichier texte, j’y ai passé un temps infini et j’ai perdu tous, mais vite reconnu le code.

C’est l’astuce VBA de votre première partie de code que je n’ai pas assimilé.

Merci à vous MJ13 pour cette astuce (a développer et a enrichir par un travail personnel) et si vous avez une explication sur cette nouvelle méthode que je ne connaissais pas encore

Laurent






Merci à vous tous

Laurent
 
Re : Supprimer des lignes en Excel

Re Laurent

En fait ce sont des codes que je récupères d'anciennes macros. Pour Chdrive et Chdir, voir l'aide VBA (mais cela doit être pour changer le lecteur sur lequel on travaille et chdir pour avoir le chemin sur lequel on veut travailer, mais je ne suis pas sur. Car quand cela fonctionne, je ne me pose pas trop de questions 😕). Mais le chemin doit être en cellule A1 (donc cells(1,1)).

Sinon pour l'écriture sur les fichier txt avec open, cela date du temps de Gwbasic (il y a plus de 20 ans). L'informatique a évolué mais pas les fichiers txt🙂.

Sinon regarde l'aide (F1 sur Open ou recherche sur le net des codes qui l'utilise, tu devrais en trouver).

Bonnes découvertes 🙂.
 
Re : Supprimer des lignes en Excel

Bonsoir MJ13,

Je te remercie pour le complément d'information que tu m' as apporté, je suis content... vous êtes très agréable. je souhaite developer mes connaissance sur VB puis connaitre VB.net... C++ (est le top de la prog) je vais mi mettre ces sur mais quand je sais pas, si non jai entendu parler de Python (trés facile ont ma dit) ? vous avez des connaissance autre que VBA.

Au plaisir de vous lire MJ13

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

Réponses
5
Affichages
701
Réponses
5
Affichages
354
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…