Bonjour,
J'ai une macro qui, sous conditions, copie des lignes d'un fichier dans un autre onglet, puis supprime ces lignes.
Le code correspond à ça :
Ca marche très bien, à un détail près : si plusieurs lignes répondant aux conditions se suivent, alors seule une ligne sur 2 est traitée.
Par exemple, si mes lignes 5,6 et 7 sont concernées, j'aurai d'abord j=5, donc ma ligne 5 est copiée puis supprimée. Du coup, ma ligne 6 devient 5, mais mon j passe à 6 (et traite la ligne qui était précédemment 7, et est devenue 6 après la suppression de 5).
Je suppose qu'il doit y avoir un système de boucle à mettre en place, mais je ne sais pas comment le tourner...
Quelqu'un aurait-il une proposition ?
Merci,
Vincent
J'ai une macro qui, sous conditions, copie des lignes d'un fichier dans un autre onglet, puis supprime ces lignes.
Le code correspond à ça :
HTML:
If Y.Cells(j, 5) = "I" And Not Y.Cells(j, 18) Like "*TRM*" Then
Y.Rows(j).EntireRow.Copy Destination:=Z1.Range("A65536").End(xlUp).Offset(1, 0)
Y.Rows(j).EntireRow.Delete
End If
Next j
Ca marche très bien, à un détail près : si plusieurs lignes répondant aux conditions se suivent, alors seule une ligne sur 2 est traitée.
Par exemple, si mes lignes 5,6 et 7 sont concernées, j'aurai d'abord j=5, donc ma ligne 5 est copiée puis supprimée. Du coup, ma ligne 6 devient 5, mais mon j passe à 6 (et traite la ligne qui était précédemment 7, et est devenue 6 après la suppression de 5).
Je suppose qu'il doit y avoir un système de boucle à mettre en place, mais je ne sais pas comment le tourner...
Quelqu'un aurait-il une proposition ?
Merci,
Vincent