Bonjour,
Pour ceux que cela intéresse, une procédure qui peut s'avérer utile lorsque l'on travaille sur une feuille Excel qui comporte des interlignes vides à éliminer :
La première étape consiste à déterminer la dernière ligne utilisée et à attribuer son numéro de ligne à la variable DerniereLigne. Voilà qui n’est pas aussi simple que l’on pourrait le croire, car la plage utilisée ne commence pas nécessairement à la ligne 1. En conséquence, DerniereLigne est calculée en déterminant le nombre de lignes de la plage utilisée, en ajoutant le numéro de la première ligne de la plage utilisée et en retranchant 1.
La procédure emploie la fonction COUNTA d’Excel pour déterminer si une ligne est vide. Si cette fonction retourne 0 pour une ligne particulière, la ligne est vide. Notez que la procédure utilise une valeur négative pour le pas de la boucle For – Next. C’est nécessaire, car la suppression des lignes amène toutes les lignes subséquentes à se déplacer vers le haut dans la feuille de calcul. Si la boucle progressait du haut vers le bas, le compteur dans la boucle ne serait pas précis après la suppression d’une ligne.
J'ai testé le code, il fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub SuppLigneVide() Dim DerniereLigne As Long Dim R As Long Range("A1").Select 'Suppression des interlignes vides DerniereLigne = ActiveSheet.UsedRange.Row - 1 DerniereLigne = DerniereLigne + ActiveSheet.UsedRange.Rows.Count Application.ScreenUpdating = False For R = DerniereLigne To 1 Step -1 If Application.WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Delete Next R End Sub
Bonne continuation
Partager