Boucle dans macro

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

2 réponses

  1. Bonjour,

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

    Cordialement.

    Daniel
    0
    1. Bonsoir,

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

      Merci
      0
  2. 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
    1. 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
    2. 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
    3. 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
    4. Re bonjour,
      J'ai changer le nom de la variable et ton code fonctionne
      Merci !
      0