OVH Cloud OVH Cloud

suppression de lignes

3 réponses
Avatar
bernard
bonjour =E0 tous,
comment par VBA supprimer toutes les lignes vides d'un=20
tableau quelque soit le nombre de lignes =E0 traiter.
merci de m'aider.

3 réponses

Avatar
Chris MICHEL
Bonjour,

Essaie un truc du style (exemple avec un tableau
commençant en A1 et effaçant les lignes ou la colonne A
est vide).


for i=[A65535].end(3).row downto 1

if range("A" & i).value="" then rows(i).delete

Next

Chris.

-----Message d'origine-----
bonjour à tous,
comment par VBA supprimer toutes les lignes vides d'un
tableau quelque soit le nombre de lignes à traiter.
merci de m'aider.
.



Avatar
ChrisV
Bonjour Bernard,

Sub supLg()
Dim r As Long, derL As Long
derL = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = derL To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub


ChrisV


"bernard" a écrit dans le message de news:
4b0701c3e4ea$1ae9dc80$
bonjour à tous,
comment par VBA supprimer toutes les lignes vides d'un
tableau quelque soit le nombre de lignes à traiter.
merci de m'aider.
Avatar
Michel Gaboly
Bonjour,

La boucle partant de la dernière ligne jusqu'à la première
qui t'a été proposée est une méthode classique.

Si la plage à traiter est importante et contient de nombreu-
ses lignes vides, une autre approche est envisageable :

1 - Insérer une colonne.

2 - Numéroter les lignes.

3 - Trier selon un critère adapté au tableau pour regrou-
per les lignes vides.

4 - Supprimer en une seule opération les lignes vides.

5 - Retrier en utilisant le numéro de ligne insérer à la
seconde étape pour rétablir l'ordre initial.

6 - Supprimer la colonne insérée pour numéroter les
lignes.

L'intérêt de cette méthode est de gagner du temps quand il
y a plusieurs milliers de lignes, en évitant de faire appel
à une boucle. Il est nécessaire que la structure du tableau
permette de regrouper les lignes vides par un tri (par
exemple présence d'une colonne toujours renseignée si la
ligne n'est pas vide).



bonjour à tous,
comment par VBA supprimer toutes les lignes vides d'un
tableau quelque soit le nombre de lignes à traiter.
merci de m'aider.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com