Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment copier des lignes de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille?

Supposons que vous ayez un classeur avec trois feuilles de travail ayant le même format que celui illustré ci-dessous. Maintenant, vous voulez copier toutes les lignes de ces feuilles de calcul dont la colonne C contient le texte «Complété» dans une nouvelle feuille de calcul. Comment pouvez-vous résoudre ce problème rapidement et facilement sans les copier-coller un à un manuellement?

Copier des lignes de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille avec du code VBA


Copier des lignes de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille avec du 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. S'il vous plaît faire comme ceci:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans la fenêtre du module.

Code VBA: copier des lignes 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

Note: Dans le code ci-dessus:

  • Le texte "Avoir complété un " dans ce xRStr = "Terminé" le script indique la condition spécifique sur laquelle vous souhaitez copier des lignes;
  • C: C dans ce Définissez xRg = xWs.Range ("C: C") Le script indique la colonne spécifique dans laquelle la condition se trouve.

3. Puis appuyez F5 clé pour exécuter ce code et toutes les lignes avec la condition spécifique ont été copiées et collées dans une nouvelle feuille de calcul nommée Kutools for Excel dans le classeur en cours. Voir la capture d'écran:


Plus relatifs tirer ou copier des articles de données:

  • Copier des données dans une autre feuille de calcul avec un filtre avancé dans Excel
  • Normalement, nous pouvons rapidement appliquer la fonctionnalité de filtre avancé pour extraire des données à partir des données brutes de la même feuille de calcul. Mais parfois, lorsque vous essayez de copier le résultat filtré dans une autre feuille de calcul, vous recevez le message d'avertissement suivant. Dans ce cas, comment pouvez-vous gérer cette tâche dans Excel?
  • Copier les lignes si la colonne contient un texte / une valeur spécifique dans Excel
  • Supposons que vous vouliez rechercher des cellules contenant du texte ou de la valeur spécifique dans une colonne, puis copiez la ligne entière dans laquelle se trouve la cellule trouvée. Comment pouvez-vous y remédier? Ici, je vais introduire quelques méthodes pour trouver si la colonne contient du texte ou une valeur spécifique, puis copier la ligne entière dans Excel.


  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes et conservation des données; Contenu des cellules divisées; Combinaison de lignes en double et somme / moyenne... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Favoris et insérer rapidement des formules, Plages, graphiques et images; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Tableau croisé dynamique groupé par numéro de semaine, jour de la semaine et plus ... Afficher les cellules déverrouillées et verrouillées de couleurs différentes; Mettre en surbrillance les cellules de formule / nom...
kte tab 201905
  • Activer l'édition par onglets et la lecture 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 réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.