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:
Cependant, cela prend plus de 30 minutes pour faire le tour de la feuille. Quelqu'un aurait un raccourcis à me proposer ?
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
Il est à noter que j'ai désactiver le calcul automatique avant de lancer la macro.
Merci!
Hehee
Partager