Bonjour à tous
Dans le cadre de mon travail, je suis amené à faire souvent une même opération qui consiste a supprimer certaines lignes d'une base de données dans le but d'alléger celle-ci. (~3000 lignes pour 70 colonnes)
Je procède toujours de la même façon, je filtre sur les lignes que je veux garder histoire de les visualiser pour ne pas en oublier ou en avoir des superflus.
Ensuite j’enlevé les filtres et re filtre sur les autres lignes pour ensuite les supprimer.
C'est quand même dommage d'avoir les lignes qu'on veut et de devoir refaire une manipulation pour supprimer les autres.
Donc je me suis créé une macro qui va simplement supprimer les lignes masqué.
Voilà le code :
Je vous expose maintenant mon problème, certains l'auront sûrement deviné en lisant le code, cette proc est très long à s'exécuter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Supprimer_Lignes_Masquees() Application.ScreenUpdating = False Dim plage As Range: Set plage = [A2].CurrentRegion Dim i&, j&: j = plage.Cells(plage.Cells.Count).Row For i = j To 3 Step -1 If Rows(i).Hidden = True Then Rows(i).Delete Next i Application.ScreenUpdating = True End Sub
Si je pouvais sélectionner toutes les lignes Hidden et ensuite les supprimer d'un seul Delete se serais parfait.
J'espère être clair.
Merci d'avance à tous ceux qui prendront le temps de m'aider
Partager