Comment déplacer automatiquement une ligne vers une nouvelle feuille dès qu’une case à cocher est cochée dans Excel ?
Dans l’utilisation quotidienne d’Excel, il arrive fréquemment que les utilisateurs aient besoin de déplacer une ligne vers une autre feuille ou un autre classeur selon l’état d’une case à cocher, par exemple dans des listes de suivi de tâches, des formulaires de traitement de commandes ou des listes de vérification de données. En automatisant ce processus, vous améliorez l’efficacité de votre flux de travail et conservez une vue claire de vos données. Cet article présente plusieurs solutions pratiques pour déplacer une ligne spécifique vers une nouvelle feuille dès qu’une case à cocher est cochée, en tenant compte de diverses préférences opérationnelles et besoins de gestion des données.
- Déplacer une ligne lorsqu’une case à cocher est cochée avec du code VBA
- Formule Excel – Marquer et filtrer les lignes à déplacer
Déplacer une ligne lorsqu’une case à cocher est cochée avec du code VBA
Si vous souhaitez déplacer automatiquement une ligne vers une feuille spécifique dès qu’une case à cocher est cochée, VBA (Visual Basic for Applications) d’Excel propose une solution hautement personnalisable — idéale pour les utilisateurs qui gèrent de grands ensembles de données ou qui effectuent fréquemment cette opération.
1. Ouvrez la feuille de calcul dans laquelle vous souhaitez déplacer des lignes en fonction de l’état d’une case à cocher. Rendez-vous dans Développeur > Insérer > Case à cocher (contrôle ActiveX) pour insérer une case à cocher dans votre feuille. Ce contrôle vous permet de lier des actions à la case à cocher. Voir la capture d’écran :

2. Cliquez avec le bouton droit sur l’onglet de la feuille en bas de la fenêtre Excel, puis choisissez Afficher le code dans le menu contextuel pour ouvrir la fenêtre de code correspondant à la feuille. Voir la capture d’écran :

3. Dans la fenêtre Microsoft Visual Basic pour Applications qui s’ouvre, copiez et collez le code VBA suivant dans la fenêtre de code :
Code VBA : Déplacer une ligne vers une feuille spécifiée lorsqu’une case à cocher est cochée
Private Sub CheckBox1_Click()
Dim xRg As Range
Dim xAddress As String
On Error Resume Next
If CheckBox1.value Then
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the range row you will move(single cell):", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xRg = xRg(1).EntireRow
xRg.Copy
ActiveWorkbook.Sheets("Sheet3").Range("A1").PasteSpecial xlPasteAllUsingSourceTheme
xRg.Clear
Application.CutCopyMode = False
End If
End Sub Remarques : Dans le code, Feuil3 et A1 indiquent que la ligne spécifiée sera déplacée vers la première ligne de Feuil3. Modifiez-les selon vos besoins. Par exemple, pour déplacer la ligne vers Feuil2 à partir de B10, il suffit d’ajuster ces valeurs dans le code.
Soyez prudent lorsque vous modifiez la macro : des ajustements incorrects pourraient entraîner des erreurs ou des déplacements de données indésirables. Sauvegardez toujours votre classeur avant d’exécuter un nouveau code VBA, au cas où vous devriez annuler les modifications.
4. Après avoir saisi le code, appuyez sur Alt + Q sur votre clavier pour quitter l’éditeur VBA et revenir à votre feuille Excel.
5. Avant d’utiliser cette fonctionnalité, assurez-vous de désactiver le Mode Création dans l’onglet Développeur. Cette étape active le contrôle de la case à cocher afin qu’il puisse déclencher la macro VBA comme prévu.

6. Maintenant, cliquez sur la case à cocher que vous avez ajoutée. Une boîte de dialogue Kutools pour Excel s’affiche, vous invitant à sélectionner la première cellule de la ligne ou la ligne entière que vous souhaitez déplacer. Une fois la sélection effectuée, cliquez sur OK. La ligne spécifiée sera immédiatement transférée vers la feuille désignée, conformément à votre code VBA. Voir capture d’écran :

Formule Excel – Marquer et filtrer les lignes à déplacer
Une solution fondée sur les formules vous permet d’identifier rapidement les lignes à déplacer lorsque leur case à cocher associée est cochée. Cette approche est particulièrement pratique dans les tableaux de saisie de données où les cases à cocher sont liées à des colonnes auxiliaires. Ces lignes marquées peuvent ensuite être filtrées et collées manuellement dans une autre feuille. Cette méthode ne nécessite pas de VBA et convient parfaitement aux situations où une automatisation stricte n’est pas requise ou lorsque l’utilisation de macros est restreinte.
En supposant que vos cases à cocher se trouvent dans la plage B2 à B100 et soient liées aux cellules C2 à C100, et que vos lignes de données occupent la plage A2:B100, vous pouvez utiliser une colonne auxiliaire (par exemple, la colonne D) avec une formule pour marquer les lignes cochées :
1. Dans la cellule D2, saisissez la formule suivante :
=IF(C2=TRUE, "Move", "") 2. Appuyez sur Entrée pour valider la formule, puis étendez-la à toutes les lignes de données (par exemple, de D2 à D100) en faisant glisser la poignée de recopie ou en double-cliquant dessus dans le coin inférieur droit de la cellule.
3. Vous pouvez désormais filtrer la colonne D pour n’afficher que les lignes marquées « Déplacer », puis sélectionner ces lignes visibles (filtrées) et les copier dans votre feuille cible à l’aide de Ctrl+C et Ctrl+V.
Conseil : Si vos cases à cocher ne sont pas liées à des valeurs de cellule, cliquez avec le bouton droit sur chacune d’elles et définissez sa propriété Lien de cellule afin que son état (cochée ou non) mette à jour une cellule avec les valeurs VRAI ou FAUX. Cela permettra à la formule de fonctionner correctement.
Avantages : Aucune macro requise et fonctionne dans les fichiers partagés.Inconvénients : Certaines étapes manuelles sont nécessaires pour déplacer les lignes marquées.
Articles connexes :
- Comment déplacer une ligne entière vers une autre feuille en fonction de la valeur d’une cellule dans Excel ?
- Comment déplacer une ligne entière en bas de la feuille de calcul actuelle en fonction de la valeur d’une cellule dans Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition 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é de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels