Boucle dans macro

Fermé
MARIEG58 - 4 août 2018 à 16:22
 MARIEG58 - 6 août 2018 à 06:55
Bonjour,
J'ai une macro qui fonctionnait et cette fois ci j'ai un problème à ce niveau


'Dim i As Integer
With ThisWorkbook.Sheets("DonneesFrs")
For i = .Range("e" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("a" & i).Value <> "" Then
.Rows(i).Delete
End If
Next i

Pouvez vous me dire quel est mon problème.
J'ai l'impression que j'ai trop de lignes dans mon fichier (plus de 20000). Car si je réduis le nombre de ligne, je n'ai plus le message. Toutefois, je voudrais pouvoir traiter toutes les lignes.
Avez vous une astuce ?

Merci d'avance

Je travaille sur Excel 2010

Merci





A voir également:

2 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié le 4 août 2018 à 18:16
Bonjour

Quel est le message d'erreur et sur quelle ligne se produit elle ?

Perso j'écrirai plutôt
Dim i As Long, lifin As Long
With ThisWorkbook.Sheets("DonneesFrs")
  lifin = .Range("e" & .Rows.Count).End(xlUp).Row
  For i = lifin To 2 Step -1
    If .Range("a" & i).Value <> "" Then
      .Rows(i).Delete
    End If
  Next i
End With

Cdlmnt
0
Bonsoir,
L'erreur est sur cette ligne :

For i = .Range("e" & .Rows.Count).End(xlUp).Row To 2 Step -1
Le message d'erreur est : Erreur d'exécution 6. Dépassement de capacité

Merci
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
5 août 2018 à 20:45
as tu essayé le code que je t'ai proposé ?
1. j'ai vu que tu avais inhibé la ligne de déclaration de la variable i (un integer va jusqu'à 32767, un entier long jusqu'à 2147483647)
2. For i = .Range("e" & .Rows.Count).End(xlUp).Row To 2 Step -1
A chaque tour de boucle .Range("e" & .Rows.Count).End(xlUp).Row est réévalué ...

Cdlmnt
0
Bonjour,
Oui j'ai essayé avec ton code mais j'ai un message d'erreur Erreur de compilation : Déclaration existante dans la portée en cours.
Je pense que c'est pour cela que j'avais inhibé la déclaration de variable
Je ne sais pas quoi faire :-(
Merci
0
Re bonjour,
J'ai changer le nom de la variable et ton code fonctionne
Merci !
0
danielc0 Messages postés 1341 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 18 décembre 2024 155
4 août 2018 à 18:17
Bonjour,

Quel est le numéro et le libellé de l'erreur ?

Cordialement.

Daniel
0
Bonsoir,

Voici le message Erreur d'exécution 6. Dépassement de capacité

Merci
0