> Tous les forums > Forum Bureautique
 SUPPRESSION DE LIGNE PLUS RAPIDESujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
ricken
  Posté le 14/12/2009 @ 16:56 
Aller en bas de la page 
Petit astucien

Bonjour,

J'ai un tableau avec 10 colonnes et 32000 lignes. Après un tri, il ne me reste que 1500 lignes remplies sur les dix colonnes, et sur les lignes restantes, juste les colonnes B à J. L'idée est de supprimer toutes les lignes ayant la cellule vide en colonne A. J'ai bien fait une macro, mais elle fait cela step by step, et c'est très long. Est-il possible de sélectionner en colonne A la dernière ligne + 1, et faire une suppression jusqu'à la dernière ligne de la colonne B?

Voici ma macro:

Sub Supress()

Range("B2").Select
Selection.End(xlDown).Select
V = ActiveCell.Row

Dim i%
For i = V To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
Next

End Sub

Merci de votre aide

Publicité
ricken
 Posté le 14/12/2009 à 17:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Un petit fichier joint pour se faire une meilleure idée:

http://cjoint.com/?morHEZwo3S

Le but: supprimer les lignes 82 à 92, car les cellules en colonne A sont vides, sachant que les lignes ne sont pas figées. Elles varient en fonction des données de base. Mon idée était de supprimer de la ligne 81 +1 en A jusqu'à 92 en B. Mais je n'arrive pas à nommer cette plage...

Merci d'avance

Marmotte18
 Posté le 14/12/2009 à 19:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir ricken,

Une idée :

  • Trie ta feuille de calcul sur la colonne A
  • Repère à partir de quelle ligne la 1ère cellule se trouvant dans la colonne A est vide
  • Supprime en une seule opération toutes les lignes comportant des cellules vides dans la colonne A

Voilà une macro que tu peux utiliser après le tri croissant de ta feuille sur la colonne A :

Sub OteLigne()
Dim LigneSup As Long

'1ère ligne dont la cellule de la colonne A est vide
'---------------------------------------------------
LigneSup = Range("A65536").End(xlUp).Row + 1

'Suppression de toutes les lignes à partir de Lignesup
'-----------------------------------------------------
Range(Cells(LigneSup, 1), Cells(65536, 1)).Select
Selection.EntireRow.Delete

'Détermination de l'emplacement de la cellule active
'---------------------------------------------------
Cells(LigneSup, 1).Select

End Sub

Ci-joint le fichier de démonstration : http://www.cijoint.fr/cjlink.php?file=cj200912/cijypHatI0.xls

Pour définir une plage de cellules, j'utilise : Range(Cells(L1,C1),Cells(L2,C2)) dans laquelle L1 et L2 sont des N° de ligne et C1 et C2 sont des numéros de colonne. Le Cells(L1,C1) définit la 1ère cellule de la plage, Cells(L2,C2) la 2ème cellule de la plage

Ainsi pour définir la plage B4:E9, on pourrait écrire : Range(Cells(4,2),Cells(9,5))

Dans mon exemple de macro, Range(Cells(LigneSup, 1), Cells(65536, 1)).Select a pour but de sélectionner la plage A82:A65536



Modifié par Marmotte18 le 15/12/2009 06:33
ricken
 Posté le 16/12/2009 à 08:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

YESSSSSSSSSSSSSSSSSSSSSS !!!

Merci Marmotte 18,

Mon fichier était déjà un résultat de tri, mais il me manquait l'astuce de la sélection de TOUTES les lignes en dessous de la dernière ligne (Range(Cells(LigneSup, 1), Cells(65536, 1)).Select). Merci pour la macro ET pour les explications qui vont avec.

Bonne journée et merci encore.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Disque dur externe Western Digital Elements Desktop USB 3.0 18 To
299,72 € 400 € -25%
@Amazon Allemagne
Vidéo projecteur WANBO T2 Ultra (Full HD, 500 lumens, Android TV, entrepôt Europe) + écran 100 pouces
169 € 218 € -22%
@Geekbuying
NAS 2 Baies Ugreen DXP2800 (N100, 8 Go, 2.5GbE, cache NVMe)
297,49 € 399 € -25%
@Amazon
Portable 15.6 pouces Acemagic LX15 Pro (Ryzen 7 5700U, 16 Go, 512 Go SSD, Vega 8, Windows 11)
374,99 € 499,99 € -25%
@Amazon
Mini PC Geekom XT12 Pro (Intel Core i9-12900H, 32 Go RAM DDR4, SSD NVMe PCIe 4.0 1 To, WiFi 6, Windows 11 Pro)
599,00 € 739 € -19%
@Amazon
Répéteur WiFi 6 Mesh TP-Link RE900XD AX6000
119,99 € 159,90 € -25%
@Amazon

Sujets relatifs
[VBA+suppression conditionnelle de ligne]
Suppression de l ligne créée par la saisie de 3 tirets + ENTER
Macro excel Suppression de ligne
SUPPRESSION DE LIGNE AVEC UN MOT
SUPPRESSION DE LIGNE D'APRES UN MOT
excel recuperation d'une info suppression ligne
copier ligne si cellule vide
Document modifiable en ligne
recherche la ligne et passe a la suivante
Incredimail et suppression mail ( yes trouvé!)
Plus de sujets relatifs à SUPPRESSION DE LIGNE PLUS RAPIDE
 > Tous les forums > Forum Bureautique