Changement d'emplacement de ligne en fonction de critère

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gant1801

XLDnaute Junior
Bonjour à tous,
J'ai réalisé une macro me permettant de couper une ligne possédant un critère et de la coller dans une partie située en contre-bas.
Le problème est que lorsque j'active ma macro, dans le cas où deux lignes successives présentent le critère en question, la macro plante et n'agit pas sur toutes les lignes.

Code VBA:

Sub Non_concerne()

Dim Ledernier As Integer
Ledernier = Range("C3").End(xlDown).Row
Dim I As Integer
For I = 4 To Ledernier
If Cells(I, 12).Value = "Non concerné" Then
'Range(Cells(I, 1), Cells(I, 28)).Select
Rows(I).Select
Selection.Cut

Dim D As Integer
D = Range("C10000").End(xlUp).Row + 1
'Cells(D, 1).Select
Rows(D).Select

ActiveSheet.Paste
Application.CutCopyMode = False

Rows(I).Select
Selection.Delete Shift:=xlUp
End If
Next I
End Sub

Je joins mon fichier au cas où cela puisse aider.
Merci de l'aide
Gant
 

Pièces jointes

Re : Changement d'emplacement de ligne en fonction de critère

Merci vgendron, votre modification marche parfaitement!
Pourriez-vous néanmoins m'expliquer pourquoi.
Je comprends que la macro part de la ligne "Ledernier" et remonte à chaque fois d'une ligne, mais en quoi cela apporte une amélioration par rapport à mon code?
Merci de votre aide
Ps: J'ai eu quelques soucis avec les réponses, j'ai du le refaire trois fois (j'espère que les trois ne vont pas apparaître en même temps...)
 
Re : Changement d'emplacement de ligne en fonction de critère

c'est simple
dans ta boucle tu pars de 4 à 10
si la ligne 4 répond au critère tu la copies, la déplaces et enfin la supprimes (ce qui fait remonter toutes les lignes du dessous. c'est à ce moment la que ca "plante" car la ligne 5 devient la ligne 4
lorsque tu passes à la ligne suivante (donc la nouvelle ligne 5) tu n'as pas testé celle qui vient de passer en 4...
execute ta macro en mode pas à pas (F8) et tu verras tout de suite
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
543
Réponses
4
Affichages
413
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
814
Retour