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
A voir également:
- Boucle dans macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
2 réponses
Bonjour
Quel est le message d'erreur et sur quelle ligne se produit elle ?
Perso j'écrirai plutôt
Cdlmnt
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
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
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
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
J'ai changer le nom de la variable et ton code fonctionne
Merci !