Comment déplacer une ligne entière vers le bas de la feuille active en fonction de la valeur d'une cellule dans Excel ?
Dans Excel, vous devez souvent réorganiser vos données en fonction du statut ou de la valeur dans une colonne particulière. Par exemple, après avoir suivi l'avancement des tâches, vous pourriez vouloir que toutes les lignes où le statut est "Terminé" soient déplacées vers le bas de votre feuille de calcul, tout en gardant les tâches actives ou en cours en haut. Le déplacement automatique des lignes entières selon une valeur de cellule peut rendre votre feuille plus facile à gérer, mettre en avant les priorités et vous aider à vous concentrer efficacement sur les éléments non terminés.
Il existe plusieurs façons d'atteindre cet objectif dans Excel, y compris l'utilisation de code VBA pour automatiser le processus ou encore l'utilisation de formules et de la fonctionnalité de tri intégrée d'Excel. Chaque approche a ses propres forces et convient à différents scénarios. Voici des solutions étape par étape pour vous aider à déplacer des lignes entières vers le bas de votre feuille active en fonction d'une valeur spécifique de cellule.
- Déplacer une ligne entière vers le bas de la feuille active en fonction de la valeur de cellule avec du code VBA
- Déplacer une ligne entière vers le bas en utilisant des formules Excel et le tri
Déplacer une ligne entière vers le bas de la feuille active en fonction de la valeur de cellule avec du code VBA
Supposons que vous ayez un tableau où la colonne C contient un statut, tel que "Terminé", et que vous souhaitiez que toute ligne comportant "Terminé" dans la colonne C soit immédiatement déplacée à la fin de votre plage de données. Cette solution VBA est particulièrement utile si vous souhaitez un processus répétable et semi-automatique qui gère les changements dynamiques des données sans tri manuel.
1. Appuyez simultanément sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insertion > Module. Ensuite, copiez et collez le code VBA ci-dessous dans la fenêtre.
Code VBA : Déplacer une ligne entière vers le bas de la feuille active en fonction de la valeur de cellule
Sub MoveToEnd()
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xEndRow As Long
Dim I As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg = Application.InputBox("Select range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Or xRg.Areas.Count > 1 Then
MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
xEndRow = xRg.Rows.Count + xRg.Row
Application.ScreenUpdating = False
For I = xRg.Rows.Count To 1 Step -1
If xRg.Cells(I) = "Done" Then
xRg.Cells(I).EntireRow.Cut
Rows(xEndRow).Insert Shift:=xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
Remarque : Dans ce code VBA, la valeur spécifique référencée est “Terminé”. Vous pouvez modifier cette valeur dans le code pour correspondre à celle qui doit déclencher le déplacement de la ligne (par exemple, vous pouvez la changer en "Complété" ou tout autre statut qui correspond à votre flux de travail). Assurez-vous que la valeur correspond exactement, y compris en termes de casse et d'espacement, ou envisagez d'ajuster le code pour une correspondance insensible à la casse si nécessaire.
3. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter le code. Dans la boîte de dialogue Kutools for Excel qui apparaît, sélectionnez la plage de colonnes où la valeur cible peut apparaître, puis cliquez sur le bouton OK.
Après confirmation, le code recherchera automatiquement les lignes contenant la valeur “Terminé” dans la colonne sélectionnée et les déplacera vers le bas de votre plage de données. Ce réarrangement se produit instantanément, vous faisant économiser le temps de tri manuel ou de déplacement des lignes.
Conseils :
- Si vous avez des en-têtes, assurez-vous de ne pas les inclure dans votre sélection lorsqu'on vous le demande, afin d'éviter de déplacer la ligne d'en-tête.
- Ce script VBA ne s'applique qu'à la feuille de calcul active. Si vous devez effectuer cette opération sur plusieurs feuilles, répétez le processus pour chaque feuille.
- Si vos données contiennent des formules ou des cellules liées, le déplacement des lignes peut entraîner le décalage des références. Vérifiez deux fois votre feuille de calcul après avoir exécuté la macro pour garantir l'intégrité des données.
Cette méthode VBA excelle dans les situations où vous devez traiter régulièrement un grand nombre de lignes, en particulier lorsque le tri manuel est inefficace. Cependant, si vous avez besoin d'une solution qui n'implique pas de macros, ou si vous préférez travailler directement avec des formules et les outils standard d'Excel, envisagez l'approche suivante.

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Déplacer une ligne entière vers le bas en utilisant des formules Excel et le tri
Pour les utilisateurs qui préfèrent ne pas utiliser de macros ou qui veulent une méthode plus transparente basée sur les formules pour gérer leurs données, vous pouvez obtenir le même effet en utilisant des colonnes auxiliaires et la fonctionnalité de tri intégrée d'Excel. Cette méthode fonctionne bien dans des environnements collaboratifs ou des fichiers qui doivent être partagés avec d'autres personnes qui peuvent avoir des paramètres de sécurité des macros activés.
1. Insérez une nouvelle colonne auxiliaire à droite ou à gauche de vos données existantes. Pour illustrer, si vos en-têtes de données sont dans la ligne 1 et que les valeurs commencent à partir de la ligne 2, et que votre statut est dans la colonne C, insérez une nouvelle colonne D et étiquetez-la "CléDeTri" ou similaire.
2. Dans la première cellule de la colonne auxiliaire (hors entête, par exemple D2), entrez la formule suivante :
=IF(C2="Done",1,0)
Cette formule attribuera 1 aux lignes où la colonne C est "Terminé", et 0 à toutes les autres lignes.
3. Appuyez sur Entrée pour confirmer la formule, puis copiez-la vers le bas pour toutes vos lignes de données. Faites simplement glisser la poignée de remplissage depuis D2 jusqu'à la dernière ligne de vos données, ou double-cliquez sur la poignée de remplissage pour un remplissage automatique si la colonne adjacente est remplie.
4. Sélectionnez une cellule quelconque dans votre plage de données, puis, à partir du ruban Excel, accédez à l'onglet Données et cliquez sur Trier.
5. Dans la boîte de dialogue Trier, sélectionnez la colonne auxiliaire ("CléDeTri") dans le menu déroulant "Trier par", et choisissez l'ordre Du plus petit au plus grand. Cela maintiendra toutes les lignes avec "Terminé" (marquées 1) en bas, et le reste (marquées 0) en haut.
6. Cliquez sur OK pour appliquer le tri. Vos données seront maintenant réorganisées de sorte que toutes les entrées complétées ou "Terminées" apparaissent en bas du tableau.
Explications des paramètres et conseils :
- Vous pouvez remplacer "Terminé" dans la formule par tout autre indicateur de statut pertinent à votre feuille (par exemple, "Complété", "Inactif"). Assurez-vous que l'orthographe correspond exactement à vos données.
- Si vous souhaitez déplacer des lignes avec plusieurs valeurs (par exemple, à la fois "Terminé" et "Annulé"), utilisez une formule comme :
=IF(OR(C2="Done",C2="Canceled"),1,0)
- Pour inverser l'effet (c'est-à-dire, lignes "Terminé" en haut), triez en ordre Du plus grand au plus petit ou échangez 0 et 1 dans la formule.
Cette approche ne supprime ni ne masque aucune ligne et conserve intacte la structure de vos données. Elle est idéale pour collaborer avec d'autres personnes, garantissant la compatibilité entre différentes versions d'Excel et évitant les problèmes potentiels liés aux fichiers avec macros activées.
Articles connexes :
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels