Boucle dans macro
MARIEG58
-
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
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
-
Bonjour
Quel est le message d'erreur et sur quelle ligne se produit elle ?
Perso j'écrirai plutôtDim 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-
-
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 -
-
-
-
Bonjour,
Quel est le numéro et le libellé de l'erreur ?
Cordialement.
Daniel