Déplacer des lignes dans une feuille
roideseaux
Messages postés
260
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je cherche à déplacer des lignes d'une feuille afin de les classer en fonction du nombre inscrit dans la seconde colonne.
J'ai d’abord essayé de couper la ligne à déplacer pour la coller au bon endroit dans la hiérarchie, mais j'obtiens un message d’erreur (La méthode Range de l'objet à échoué)...
Ensuite (et j'en suis rendu là, mais j'ai toujours le même message), j'ai tenté d'utiliser une mémoire tampon, en inversant les deux lignes (la ligne à déplacer, et du coup, la ligne qu'on ne teste pas).
J'en suis là, voilà le code que j'ai pour le moment (et je fais le test avec des chiffres de 1 à 9) :
Merci d'avoir pris le temps de me lire et merci à ceux qui prendront le temps de me répondre.
Je cherche à déplacer des lignes d'une feuille afin de les classer en fonction du nombre inscrit dans la seconde colonne.
J'ai d’abord essayé de couper la ligne à déplacer pour la coller au bon endroit dans la hiérarchie, mais j'obtiens un message d’erreur (La méthode Range de l'objet à échoué)...
Ensuite (et j'en suis rendu là, mais j'ai toujours le même message), j'ai tenté d'utiliser une mémoire tampon, en inversant les deux lignes (la ligne à déplacer, et du coup, la ligne qu'on ne teste pas).
J'en suis là, voilà le code que j'ai pour le moment (et je fais le test avec des chiffres de 1 à 9) :
Sub Triage() Dim Max, Min, NbVisites As Integer Max = 120 Min = 110 NbVisites = 9 For A = NbVisites To 0 Step -1 For i = Min To Max If Range("B" & i).Value = A Then Call DéplaceLigne(i, Min) Min = Min + 1 End If Next i Next A End Sub Sub DéplaceLigne(A, B) Range(Cells(A, 1), Cells(A, 2)).Cut Range("X6").PasteSpecial _ Operation:=xlPasteSpecialOperationAdd Range(Cells(B, 1), Cells(B, 2)).Cut Range(A & "1").PasteSpecial _ Operation:=xlPasteSpecialOperationAdd Range(Cells(6, 24), Cells(6, 25)).Cut Range(B & "1").PasteSpecial _ Operation:=xlPasteSpecialOperationAdd End Sub
Merci d'avoir pris le temps de me lire et merci à ceux qui prendront le temps de me répondre.
A voir également:
- Déplacer des lignes dans une feuille
- Déplacer une colonne excel - Guide
- Déplacer barre des taches windows 11 - Guide
- Partager des photos en ligne - Guide
- Bruler une feuille de laurier - Guide
- Comment faire un livret avec des feuilles a4 - Guide