Bonjour,
J'ai une feuille Excel avec plus de 700 000 lignes par 16 colonnes. Dans cette base de données, il y a beaucoup de lignes vides. Je dois donc les supprimer pour être capable de les analyser avec une autre macro par la suite. J'ai donc fait une macro pour ce faire. La voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Sub supprimer_ligne_VIDE()
Dim compteur As Long    'Compteur pour changer de cellule
Dim Nbre_ligne_supprimer_enligne As Integer     'Compte le nombre de lignes effacées d'affillées
 
Application.ScreenUpdating = False
 
compteur = 3
 
Do
    'Supprime les lignes vides si la cellule est vide
    If IsEmpty(Range("B" & compteur)) Then
        Range("B" & compteur).EntireRow.Delete
        Nbre_ligne_supprimer_enligne = Nbre_ligne_supprimer_enligne + 1
        compteur = compteur - 1
 
    'S'il y a des lignes avec du "Trash" au travers, les supprime
    ElseIf Range("A" & compteur) = "Article" Then
        'Supprime la ligne
        Range("A" & compteur).EntireRow.Delete
        compteur = compteur - 1
 
    Else
 
        Nbre_ligne_supprimer_enligne = 0
 
    End If
 
 
compteur = compteur = 1
 
'Si le sub a supprimé plus de 10 lignes d'affilé, sort du sub, car surement rendu à la fin
Loop Until compteur = Nbre_ligne_supprimer_enligne > 10
 
 
Application.ScreenUpdating = True
 
End Sub
Cependant, cela prend plus de 30 minutes pour faire le tour de la feuille. Quelqu'un aurait un raccourcis à me proposer ?

Il est à noter que j'ai désactiver le calcul automatique avant de lancer la macro.

Merci!

Hehee