[excel] supprimer 99 lignes sur 100

Résolu/Fermé
Mélie62 - 31 mars 2009 à 11:36
 Mélie62 - 31 mars 2009 à 14:20
Bonjour,

Dans le cadre de mon stage, je dois traiter des tableaux excel avec plus de 100000 lignes, ce qui est trop et j'aimerai supprimer des valeurs pour l'alléger
J'ai essayé une macro pour supprimer une ligne sur 2 mais c'est beaucoup trop long et en général le logiciel plante
J'aimerai donc pouvoir garder une ligne sur 100 c'est-à-dire supprimer 99 lignes sur 100 mais je suis nulle en informatique, j'ai tenté pleins de macros mais sans succès

Je vous remercie d'avance pour vos réponses

Mélie62

5 réponses

michel_m
Messages postés
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
3 280
31 mars 2009 à 13:00
bonjour,

essaies cette macro (réalisée sous XL2003):

Option Explicit
Const vide As Byte = 99 'nombre de lignes à supprimer par pas
Const lig_dep As Byte = 7 'ligne de départ

'
Sub nettoyer()
Dim lig As Long, nbre As Long, pas As Long, cptr As Long

'initialisation
    lig = lig_dep
    nbre = Application.CountA(Range(Cells(lig, 1), Cells(65536, 1))) ' >65536 si XL2007
    pas = Int(nbre / vide)
    Application.ScreenUpdating = False
'destruction lignes
    For cptr = 1 To pas
        Rows(lig + 1 & ":" & lig + vide).Delete
    lig = lig + 1
    Next
End Sub

1
Mabelle60
Messages postés
469
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
125
31 mars 2009 à 12:02
Bonjour
Sans macro mais un peu à la barbare
Insère une colonne à gauche de sorte que cela devienne la colonne A
Tu met "x" sur la première ligne souhaitée
Tu selectionnes 100 celulles "x" compris
Tu tires vers le bas jusque ta dernière ligne
Tu ajoutes des filtres auto
Tu filtres su "vide" en colonne A
Tu selectionnes tes lignes
Tu supprimes les lignes
Tu supprimes ta colonne A
A toi de voir si tu préfères attendre une réponse plus conventionnelle
0
Merci beaucoup mais cela reste assez long
Une macro permettrait peut être de gagner du temps
0
Je suis en train de faire une macro de ce genre :

Selection.Delete Shift:=xlUp
Range("A13:E111").Select
Selection.Delete Shift:=xlUp
Range("A14:E112").Select
Selection.Delete Shift:=xlUp
Range("A15:E113").Select
Selection.Delete Shift:=xlUp
Range("A16:E114").Select
Selection.Delete Shift:=xlUp
Range("A17:E115").Select
Selection.Delete Shift:=xlUp
Range("A18:E116").Select
Selection.Delete Shift:=xlUp
Range("A19:E117").Select
Selection.Delete Shift:=xlUp
Range("A20:E118").Select
Selection.Delete Shift:=xlUp ....

cela me prend un temps fou pour la faire, sachant que au bout de 30 minutes je ne suis même pas arrivée à la moitié de mes valeurs ...
je ne sais plus quoi faire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est génial ça marche super bien et c'est assez rapide !
Merci beaucoup !
0