Boucle dans macro

MARIEG58 -  
 MARIEG58 -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. MARIEG58
       
      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. ccm81 Messages postés 11033 Statut Membre 2 434
       
      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. MARIEG58
       
      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. MARIEG58
       
      Re bonjour,
      J'ai changer le nom de la variable et ton code fonctionne
      Merci !
      0
  2. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     
    Bonjour,

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

    Cordialement.

    Daniel
    0
    1. MARIEG58
       
      Bonsoir,

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

      Merci
      0