KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment copier des lignes issues de plusieurs feuilles de calcul vers une nouvelle feuille en fonction de critères spécifiques ?

AuteurXiaoyang Date de modification

Supposons que vous disposiez d’un classeur contenant trois feuilles de calcul ayant le même format que celui illustré dans la capture d’écran ci-dessous. Vous souhaitez maintenant copier toutes les lignes de ces feuilles pour lesquelles la colonne C contient le texte « Completed » vers une Nouvelle feuille de calcul. Comment résoudre ce problème rapidement et facilement sans devoir effectuer manuellement les opérations de copier-coller une par une ?

exemple de données 1exemple de données 2exemple de données 3

Copier des lignes depuis plusieurs feuilles de calcul selon des critères vers une nouvelle feuille à l’aide d’un code VBA


Copier des lignes depuis plusieurs feuilles de calcul selon des critères vers une nouvelle feuille à l’aide d’un code VBA

Le code VBA suivant vous permet de copier, vers une nouvelle feuille de calcul, les lignes correspondant à une condition donnée depuis toutes les feuilles du classeur. Procédez comme suit :

1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre du module.

Code VBA : Copier des lignes depuis plusieurs feuilles selon des critères vers 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 «Completed» dans ce xRStr = «Completed»script indique la condition spécifique selon laquelle vous souhaitez copier les lignes ;
  • C:C dans ce Set xRg = xWs.Range(«C:C») script indique la colonne où se situe la condition.

3. Ensuite, appuyez sur la touche F5 pour exécuter ce code. Toutes les lignes répondant à la condition spécifiée sont automatiquement copiées et collées dans une nouvelle feuille de calcul nommée « Kutools pour Excel » au sein du classeur actuel. Voir la capture d’écran :

code VBA pour copier des lignes depuis plusieurs feuilles de calcul selon des critères



Plus d’articles connexes sur l’extraction ou la copie de données :

  • Copier des données vers une autre feuille de calcul à l’aide du filtre avancé dans Excel
  • Généralement, nous pouvons appliquer rapidement la fonctionnalité Filtre avancé pour extraire des données à partir des données brutes situées dans la même feuille de calcul. Cependant, il arrive parfois que, lorsque vous tentez de copier le résultat filtré vers une autre feuille de calcul, vous obteniez le message d’avertissement suivant. Dans ce cas, comment accomplir cette tâche dans Excel ?
  • Copier des lignes vers une nouvelle feuille selon des critères de colonne dans Excel
  • Par exemple, vous avez un tableau d’achats de fruits et vous souhaitez copier certaines lignes vers une nouvelle feuille en fonction d’un fruit spécifique. Comment faire cela facilement dans Excel ? Découvrez ici quelques méthodes efficaces pour copier des lignes vers une nouvelle feuille selon des critères définis dans une colonne d’Excel.
  • Copier des lignes si une colonne contient un texte ou une valeur spécifique dans Excel
  • Supposons que vous souhaitiez identifier les cellules contenant un texte ou une valeur spécifique dans une colonne, puis copier la Ligne entière dans laquelle se trouve la cellule trouvée. Comment procéder ? Je vais vous présenter ici quelques méthodes permettant de rechercher si une colonne contient un texte ou une valeur spécifique, puis de copier la Ligne entière dans Excel.

  • Super Barre de formule (modifiez facilement plusieurs lignes de texte et de formules) ; Mode Lecture (lisez et modifiez aisément un grand nombre de cellules) ; Coller dans Plage de filtrage...
  • Fusionner des cellules, lignes ou colonnes tout en conservant les données ; diviser le contenu des cellules ; combiner les lignes en double avec somme ou moyenne… empêcher les doublons dans les cellules ; comparer des plages
  • Sélectionner les doublons ou les éléments uniques dans les lignes ; Sélectionner les lignes vides (toutes les cellules sont vides) ; Super Recherche et recherche floue dans de nombreux classeurs ; sélection aléatoire…
  • Copiez plusieurs cellules sans modifier les références de formule ; créez automatiquement des références vers plusieurs feuilles ; insérez des puces, des cases à cocher et bien plus encore…
  • Favoris et insertion rapide de formules, plages, graphiques et 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 les caractères à une position donnée, supprimer les espaces ; créer et imprimer les statistiques de la page de données ; convertir le contenu des cellules en commentaires et inversement...
  • Super Filtre (enregistrez et appliquez des schémas de filtre à d’autres feuilles) ; Tri avancé par mois, semaine, jour, fréquence, etc. ; Filtre spécial par gras, italique…
  • Combinez plusieurs classeurs et feuilles de calcul en un seul ; fusionnez des tableaux à partir d’une colonne clé ; répartissez vos données dans plusieurs feuilles ; convertissez en lot vos fichiers xls, xlsx et PDF
  • Regroupement dans un tableau croisé dynamique par numéro de semaine, jour de la semaine et bien plus encore…Afficher les cellules non verrouillées et verrouiller la sélection avec des couleurs distinctes ;Mettre en surbrillance les cellules contenant une formule ou un nom défini
kte tab 201905
  • 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 évite des centaines de clics de souris chaque jour !
officetab bottom