Comment copier des lignes à partir de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille ?
Supposons que vous ayez un classeur avec trois feuilles de calcul ayant le même formatage, comme le montre la capture d'écran ci-dessous. Maintenant, vous souhaitez copier toutes les lignes de ces feuilles de calcul où la colonne C contient le texte « Terminé » dans une nouvelle feuille de calcul. Comment pourriez-vous résoudre ce problème rapidement et facilement sans copier et coller manuellement une par une ?
![]() | ![]() | ![]() |
Copier des lignes à partir de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille avec un code VBA
Le code VBA suivant peut vous aider à copier des lignes spécifiques de toutes les feuilles de calcul du classeur en fonction d'une certaine condition dans une nouvelle feuille de calcul. Veuillez procéder comme suit :
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insérer > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : Copier des lignes à partir de plusieurs feuilles en fonction de critères dans une nouvelle feuille
Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
If xWs.Name <> xStr Then
Set xRg = xWs.Range("C:C")
Set xRg = Intersect(xRg, xWs.UsedRange)
For Each xRRg In xRg
If xRRg.Value = xRStr Then
xRRg.EntireRow.Copy
xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
xC = xC + 1
End If
Next xRRg
End If
Next xWs
Application.DisplayAlerts = True
End Sub
Remarque : Dans le code ci-dessus :
- Le texte « Terminé » dans ce script xRStr = "Terminé" indique la condition spécifique sur laquelle vous souhaitez copier les lignes ;
- C:C dans ce script Set xRg = xWs.Range("C:C") indique la colonne spécifique où se trouve la condition.
3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et toutes les lignes répondant à la condition spécifique auront été copiées et collées dans une nouvelle feuille de calcul nommée Kutools for Excel dans le classeur actuel. Voir capture d'écran :
Plus d'articles relatifs au filtrage ou à la copie de données :
- Copier des données vers une autre feuille de calcul avec un filtre avancé dans Excel
- Normalement, nous pouvons rapidement appliquer la fonctionnalité Filtre avancé pour extraire des données à partir des données brutes dans la même feuille de calcul. Mais, parfois, lorsque vous essayez de copier le résultat filtré vers une autre feuille de calcul, vous recevrez le message d'avertissement suivant. Dans ce cas, comment pourriez-vous gérer cette tâche dans Excel ?
- Copier des lignes vers une nouvelle feuille en fonction des critères de colonne dans Excel
- Par exemple, il y a un tableau d'achat de fruits, et maintenant vous devez copier des enregistrements vers une nouvelle feuille en fonction d'un fruit spécifié, comment faire cela facilement dans Excel ? Voici quelques méthodes pour copier des lignes vers une nouvelle feuille en fonction des critères de colonne dans Excel.
- Copier des lignes si une colonne contient un texte/valeur spécifique dans Excel
- Supposons que vous souhaitiez trouver des cellules contenant un texte ou une valeur spécifique dans une colonne, puis copier toute la ligne où se trouve la cellule trouvée, comment pourriez-vous gérer cela ? Voici quelques méthodes pour vérifier si une colonne contient un texte ou une valeur spécifique, puis copier toute la ligne dans Excel.
Les meilleurs outils de productivité pour Office
Kutools pour Excel résout la plupart de vos problèmes et augmente votre productivité de 80 %
- Barre de formule avancée (éditez facilement plusieurs lignes de texte et de formules); Mode Lecture (lisez et éditez facilement un grand nombre de cellules); Coller dans une plage filtrée...
- Fusionner des cellules/lignes/colonnes tout en conservant les données; Diviser le contenu des cellules; Consolider des lignes en double et faire la somme/moyenne... Empêcher les doublons dans les cellules; Comparer des plages...
- Sélectionner des lignes en double ou uniques; Sélectionner des lignes vides (toutes les cellules sont vides); Super Recherche et recherche floue dans de nombreux classeurs; Sélection aléatoire...
- Copie exacte de plusieurs cellules sans changer les références de formule; Créer automatiquement des références vers plusieurs feuilles; Insérer des puces, des cases à cocher et plus encore...
- Ajouter et insérer rapidement des formules, des plages, des graphiques et des images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails...
- Extraire du texte, ajouter du texte, supprimer par position, supprimer des espaces; Créer et imprimer des statistiques de page; Convertir entre le contenu des cellules et les commentaires...
- Super Filtre (enregistrer et appliquer des schémas de filtre à d'autres feuilles); Tri avancé par mois/semaine/jour, fréquence et plus; Filtre spécial par gras, italique...
- Consolider des classeurs et feuilles de calcul; Fusionner des tables basées sur des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots de fichiers xls, xlsx et PDF...
- Regroupement dans les tableaux croisés dynamiques par numéro de semaine, jour de la semaine et plus... Afficher les cellules verrouillées/déverrouillées avec différentes couleurs; Mettre en évidence les cellules contenant des formules/noms...

- Activer l'édition et la lecture à onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrir et créer 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 réduit des centaines de clics de souris chaque jour !
