Copier certaines lignes automatiquement dans une autre feuille

Copier certaines lignes automatiquement dans une autre feuille
Dernière mise à jour le 05/02/2024
Temps de lecture : 4 minutes

Pour copier seulement certaines lignes dans une autre feuille, il existe deux techniques

  1. Utiliser l'outil Filtre avancé

    En renseignant certaines options de cet outil, et avec l'aide d'une courte macro, vous pouvez copier les

  2. La fonction FILTRE

    Si vous travaillez avec Excel 365, le travail se fait beaucoup plus simplement avec cette seule fonction

L'outil Filtre Avancé

L'outil filtre avancé a toujours existé dans toutes les versions d'Excel. A une époque, c'était le seul moyen d'extraire des données sans doublon. Mais ici, nous allons utiliser cet outil pour récupérer seulement les lignes correspondantes à une seule valeur. Le résultat sera copié dans une nouvelle feuille.

Dans le classeur suivant, nous avons la liste des produits vendus sur une semaine et nous voulons seulement copier le produit qui a la référence REF-002

Copier seulement certaines lignes dans une autre feuille

Etape 1 : Ajout du critère à copier

Pour utiliser l'outil Filtre Elaboré, nous DEVONS ajouter à coté de notre tableau de données, le critère à copier. Mais PLUS IMPORTANT ENCORE, nous devons aussi écrire l'entête de colonne où se fera la recherche du critère

Ajout du critere de selection

Etape 2 : Paramétrer le filtre avancé

Le travail préparatoire est déjà terminé. Il ne reste plus qu'à appeler le menu filtre élaboré et renseigner les paramètres attendus

Menu Filtre Avance
  1. Choisissez l'option Copier vers un autre emplacement
  2. Sélectionner les cellules contenant les données, y compris les entêtes
  3. Sélectionner le critère à copier, y compris les entêtes
  4. Indiquer la référence où les cellules vont être copiées
Renseigner la fenetre du filtre avance

Etape 3 : Résultat sur la même feuille

Il ne reste plus qu'à cliquer sur le bouton OK de la boîte de dialogue pour lancer le processus de copie. Seulement, CA NE FONCTIONNE PAS !!!!!! Du moins, pas tout de suite

Message dalerte pour ne pas copier sur la meme feuille

En fait, l'outil Filtre avancé, depuis le ruban, ne permet pas de copier les données dans une autre feuille de calcul.

Par contre, si la cellule de destination est dans la même feuille, comme par exemple J1, là, ça fonctionne

Cellule de destination pour la copie dans la feuille active

Et le résultat est parfait

Copie des lignes mais sur la meme feuille

Etape 4 : Résoudre le problème avec une macro

Comme on vient de le voir, le filtre avancé ne nous permet pas de copier vers une autre feuille. Mais en construisant un programme VBA, on résout le problème facilement.

  1. Créer une nouvelle feuille (ici Destination)
  2. Lancez l'enregistreur de macro.
Lancer lenregistreur de macro
  1. Refaites les mêmes étapes d'extraction en recopiant sur la même feuille
  2. Quand vous avez terminé le processus d'extraction des lignes sur la même feuille, vous pouvez arrêter l'enregistreur.
Arret de lenregistreur de macro
  1. Ouvrir le visual basic Editor pour voir le code avec le raccourci Alt + F11
  2. Dans le module 1, vous voyez le code s'afficher
  3. Repérer l'instruction CopyToRange
Code VBA genere
  1. Transformer cette instruction en y indiquant le nom de la feuille et la référence de la cellule.
Modification du code pour changer la destination
  1. Fermer l'éditeur VBA
  2. Appuyez sur les touches Alt + F8 pour faire apparaître la boite de dialogue des macros
  3. Lancez la Macro 1 (bouton Exécuter)
  4. Maintenant, les lignes sont copiées dans la feuille Destination
Lignes copiees sur une autre Feuille

Utilisation de la fonction FILTRE

Si vous travaillez avec Microsoft 365, vous avez la fonction FILTRE. Grâce à cette fonction, nous allons pouvoir copier les lignes du tableau initial dans une autre feuille et se basant sur un critère.

=FILTRE(Source!A2:F13,Source!A2:A13="REF-002")

Utilisation de la fonction FILTRE pour copier les lignes dans une autre feuille

Avantage / Inconvénient des méthodes

  • La méthode avec la fonction FILTRE est extrêmement simple à construire. Contrairement à la méthode avec le filtre avancé qui nécessite l'utilisation d'une macro.
  • A l'inverse, la méthode du filtre élaboré copie les données brutes et le format ce qui est un avantage. La fonction FILTRE retourne le résultat sous forme de formule et il peut y avoir un risque de chevauchement (erreur propagation)

A vous d'utiliser la méthode qui s'applique le mieux à votre besoin de copier des lignes dans une autre feuille.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Copier certaines lignes automatiquement dans une autre feuille

Reading time: 4 minutes
Dernière mise à jour le 05/02/2024

Pour copier seulement certaines lignes dans une autre feuille, il existe deux techniques

  1. Utiliser l'outil Filtre avancé

    En renseignant certaines options de cet outil, et avec l'aide d'une courte macro, vous pouvez copier les

  2. La fonction FILTRE

    Si vous travaillez avec Excel 365, le travail se fait beaucoup plus simplement avec cette seule fonction

L'outil Filtre Avancé

L'outil filtre avancé a toujours existé dans toutes les versions d'Excel. A une époque, c'était le seul moyen d'extraire des données sans doublon. Mais ici, nous allons utiliser cet outil pour récupérer seulement les lignes correspondantes à une seule valeur. Le résultat sera copié dans une nouvelle feuille.

Dans le classeur suivant, nous avons la liste des produits vendus sur une semaine et nous voulons seulement copier le produit qui a la référence REF-002

Copier seulement certaines lignes dans une autre feuille

Etape 1 : Ajout du critère à copier

Pour utiliser l'outil Filtre Elaboré, nous DEVONS ajouter à coté de notre tableau de données, le critère à copier. Mais PLUS IMPORTANT ENCORE, nous devons aussi écrire l'entête de colonne où se fera la recherche du critère

Ajout du critere de selection

Etape 2 : Paramétrer le filtre avancé

Le travail préparatoire est déjà terminé. Il ne reste plus qu'à appeler le menu filtre élaboré et renseigner les paramètres attendus

Menu Filtre Avance
  1. Choisissez l'option Copier vers un autre emplacement
  2. Sélectionner les cellules contenant les données, y compris les entêtes
  3. Sélectionner le critère à copier, y compris les entêtes
  4. Indiquer la référence où les cellules vont être copiées
Renseigner la fenetre du filtre avance

Etape 3 : Résultat sur la même feuille

Il ne reste plus qu'à cliquer sur le bouton OK de la boîte de dialogue pour lancer le processus de copie. Seulement, CA NE FONCTIONNE PAS !!!!!! Du moins, pas tout de suite

Message dalerte pour ne pas copier sur la meme feuille

En fait, l'outil Filtre avancé, depuis le ruban, ne permet pas de copier les données dans une autre feuille de calcul.

Par contre, si la cellule de destination est dans la même feuille, comme par exemple J1, là, ça fonctionne

Cellule de destination pour la copie dans la feuille active

Et le résultat est parfait

Copie des lignes mais sur la meme feuille

Etape 4 : Résoudre le problème avec une macro

Comme on vient de le voir, le filtre avancé ne nous permet pas de copier vers une autre feuille. Mais en construisant un programme VBA, on résout le problème facilement.

  1. Créer une nouvelle feuille (ici Destination)
  2. Lancez l'enregistreur de macro.
Lancer lenregistreur de macro
  1. Refaites les mêmes étapes d'extraction en recopiant sur la même feuille
  2. Quand vous avez terminé le processus d'extraction des lignes sur la même feuille, vous pouvez arrêter l'enregistreur.
Arret de lenregistreur de macro
  1. Ouvrir le visual basic Editor pour voir le code avec le raccourci Alt + F11
  2. Dans le module 1, vous voyez le code s'afficher
  3. Repérer l'instruction CopyToRange
Code VBA genere
  1. Transformer cette instruction en y indiquant le nom de la feuille et la référence de la cellule.
Modification du code pour changer la destination
  1. Fermer l'éditeur VBA
  2. Appuyez sur les touches Alt + F8 pour faire apparaître la boite de dialogue des macros
  3. Lancez la Macro 1 (bouton Exécuter)
  4. Maintenant, les lignes sont copiées dans la feuille Destination
Lignes copiees sur une autre Feuille

Utilisation de la fonction FILTRE

Si vous travaillez avec Microsoft 365, vous avez la fonction FILTRE. Grâce à cette fonction, nous allons pouvoir copier les lignes du tableau initial dans une autre feuille et se basant sur un critère.

=FILTRE(Source!A2:F13,Source!A2:A13="REF-002")

Utilisation de la fonction FILTRE pour copier les lignes dans une autre feuille

Avantage / Inconvénient des méthodes

  • La méthode avec la fonction FILTRE est extrêmement simple à construire. Contrairement à la méthode avec le filtre avancé qui nécessite l'utilisation d'une macro.
  • A l'inverse, la méthode du filtre élaboré copie les données brutes et le format ce qui est un avantage. La fonction FILTRE retourne le résultat sous forme de formule et il peut y avoir un risque de chevauchement (erreur propagation)

A vous d'utiliser la méthode qui s'applique le mieux à votre besoin de copier des lignes dans une autre feuille.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.