Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supression de lignes très rapide par macro

12 réponses
Avatar
JulieH
Bonjour à toutes et tous,

Je suis à la recherche de la solution la plus rapide possible pour
supprimer des lignes (Excel 2003). En effet, grâce au forum, j'ai testé
plusieurs techniques qui fonctionnent très bien mais mon fichier
s'alourdit (environ 30 000 lignes à terme) et cela devient très long (5
secondes environ pour 1500 lignes).

Dans une feuille "Accueil", je choisis une valeur dans une liste
déroulante. Je clique sur un bouton et la macro va effacer dans une
autre feuille toutes les données différentes de ma valeur.

Voici la macro que j'utilise actuellement :

Sheets("Données").Activate
Dim i As Long, Valeur As String
Valeur = Sheets("Accueil").Range("B11").Value
With Sheets("Données")
For i = .Range("E65000").End(xlUp).Row To 6 Step -1
If .Cells(i, "E") <> Valeur Then
.Rows(i).Delete
End If
Next i
End With

Quelqu'un a-t-il quelque chose de plus rapide ?

Merci d'avance.

Julie

2 réponses

1 2
Avatar
JB
http://boisgontierjacques.free.fr/fichiers/Filtre/SupLignesFiltreElabore.xl s

JB

On 3 nov, 17:14, JB wrote:
Bonjour,

http://boisgontierjacques.free.fr/pages_site/Doublons.htm#SupLignes2

JBhttp://boisgontierjacques.free.fr

On 3 nov, 14:54, JulieH wrote:



> Bonjour à toutes et tous,

>         Je suis à la recherche de la solution la plus rapide possible pour
> supprimer des lignes (Excel 2003). En effet, grâce au forum, j'ai tes té
> plusieurs techniques qui fonctionnent très bien mais mon fichier
> s'alourdit (environ 30 000 lignes à terme) et cela devient très lon g (5
> secondes environ pour 1500 lignes).

>         Dans une feuille "Accueil", je choisis une valeur dans une liste
> déroulante. Je clique sur un bouton et la macro va effacer dans une
> autre feuille toutes les données différentes de ma valeur.

>         Voici la macro que j'utilise actuellement :

>      Sheets("Données").Activate
>      Dim i As Long, Valeur As String
>      Valeur = Sheets("Accueil").Range("B11").Value
>      With Sheets("Données")
>      For i = .Range("E65000").End(xlUp).Row To 6 Step -1
>          If .Cells(i, "E") <> Valeur Then
>              .Rows(i).Delete
>          End If
>      Next i
>      End With

>         Quelqu'un a-t-il quelque chose de plus rapide ?

> Merci d'avance.

>         Julie- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
JulieH
Bonjour,

Si je n'y arrive pas avec cela !!!

Merci encore pour votre aide

Julie

JB a écrit :
http://boisgontierjacques.free.fr/fichiers/Filtre/SupLignesFiltreElabore.xls

JB

On 3 nov, 17:14, JB wrote:
Bonjour,

http://boisgontierjacques.free.fr/pages_site/Doublons.htm#SupLignes2

JBhttp://boisgontierjacques.free.fr

On 3 nov, 14:54, JulieH wrote:



Bonjour à toutes et tous,
Je suis à la recherche de la solution la plus rapide possible pour
supprimer des lignes (Excel 2003). En effet, grâce au forum, j'ai testé
plusieurs techniques qui fonctionnent très bien mais mon fichier
s'alourdit (environ 30 000 lignes à terme) et cela devient très long (5
secondes environ pour 1500 lignes).
Dans une feuille "Accueil", je choisis une valeur dans une liste
déroulante. Je clique sur un bouton et la macro va effacer dans une
autre feuille toutes les données différentes de ma valeur.
Voici la macro que j'utilise actuellement :
Sheets("Données").Activate
Dim i As Long, Valeur As String
Valeur = Sheets("Accueil").Range("B11").Value
With Sheets("Données")
For i = .Range("E65000").End(xlUp).Row To 6 Step -1
If .Cells(i, "E") <> Valeur Then
.Rows(i).Delete
End If
Next i
End With
Quelqu'un a-t-il quelque chose de plus rapide ?
Merci d'avance.
Julie- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -





1 2