|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : novembre 2008 Messages : 123 ![]() |
Bonjour,
Il faut que j'exécute 3 fois ce code sur ma feuille Histo contenant 388 lignes pour supprimer celles dont je ne trouve pas la référence dans la feuille OF. Code :
Code :
Bruno |
||||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 232 ![]() |
Bonjour,
si tu pars du bas vers le haut, n'oublie pas le Step -1 Code :
For Each c In Sheets("Histo").Range("A" & i & ":A2") Step -1
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : novembre 2008 Messages : 123 ![]() |
Bonjour mapeh,
merci de ta réponse rapide. L'ajout de Step -1 me génère une erreur de compilation : Erreur de syntaxe. De toute façon, si je fait : Code :
For Each c In Sheets("HistoriqueGSI").Range("A2:A" & i) As-tu une autre idée ? Bruno |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 232 ![]() |
Re-,
essaie avec ce code : pour une suppression de lignes, il faut toujours aller du bas vers le haut.... Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : novembre 2008 Messages : 123 ![]() |
Ton code supprime bien les lignes en une seule fois
![]() Je ne comprends toujours pas pourquoi il faut que j'exécute le mien 3 fois pour arriver au même résultat... Encore une fois ![]() A plus. Bruno |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juillet 2008 Messages : 1 889 ![]() |
Le problème du for each est qu'il a de haut en bas
Tu test la ligne 1 c'est bon tu tests la ligne 2 tu la supprime, la ligne 3 monte a la place de la ligne 2 Tu test la ligne 3 (qui est l'ancienne ligne 4) .... Il y a des ligne que tu ne testera jamais, du coup tu doit lancer le code plusieurs fois Regarde a l'envers ce que cela donne, tu comprendra l'intérêt |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : novembre 2008 Messages : 123 ![]() |
Bonjour Krovax,
Le For Each qui pose problème teste bien les lignes de bas en haut. Code :
For Each c In Sheets("Histo").Range("A" & i & ":A2") Ce qui est curieux c'est que quelque soit la méthode de test des lignes, le code me supprime 61 lignes, puis 26 et enfin 1. As-tu une autre idée, car je ne vois pas où se trouve l'erreur. Cordialement. Bruno |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com