Filtrer des données de Feuil1 vers Feuil2

  • Initiateur de la discussion Initiateur de la discussion jmd2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jmd2

XLDnaute Accro
Bonjour.

Feuil1 contient 1000 lignes de données (n°, client, date, quantité)
Je voudrais sur Feuil2 afficher les lignes concernant le client Dupuis.
Ceci sans avoir besoin de manipulation lors des mises à jour de Feuil1.

Merci.
 
Re : Filtrer des données de Feuil1 vers Feuil2

bonjour

Je ferais un filtre élaboré sur la deuxième feuille. et si je devais répéter cette action, créer la macro avec l'enregistreur et lui associé un bouton
 
Re : Filtrer des données de Feuil1 vers Feuil2

bonjour jmd2

Mettre cette macro en Feuil2

Code:
Private Sub Worksheet_Activate()
ligne = 2
ActiveSheet.Cells.ClearContents
Sheets("Feuil1").Range("A1:D1").Copy Destination:=ActiveSheet.Range("A1")
For n = 2 To Sheets("Feuil1").Range("B65536").End(xlUp).Row
  If UCase(Sheets("Feuil1").Range("B" & n)) = "DUPUIS" Then
    Sheets("Feuil1").Range("A" & n & ":D" & n).Copy Destination:=ActiveSheet.Cells(ligne, 1)
  End If
Next n
End Sub

edit Salut Maitre
 
Re : Filtrer des données de Feuil1 vers Feuil2

bonjour jmd2

Mettre cette macro en Feuil2

Code:
Private Sub Worksheet_Activate()
ligne = 2
ActiveSheet.Cells.ClearContents
Sheets("Feuil1").Range("A1:D1").Copy Destination:=ActiveSheet.Range("A1")
For n = 2 To Sheets("Feuil1").Range("B65536").End(xlUp).Row
  If UCase(Sheets("Feuil1").Range("B" & n)) = "DUPUIS" Then
    Sheets("Feuil1").Range("A" & n & ":D" & n).Copy Destination:=ActiveSheet.Cells(ligne, 1)
  End If
Next n
End Sub

edit Salut Maitre


Je ne comprend pas bien pourquoi il y a un B65536 dans les références.
Selection.End(xlDown).Row permet de connaitre le nombre de lignes utilisée dans le tableaux sans compter toutes les lignes de la feuilles...
Mais je me trompe peut-être
 
Re : Filtrer des données de Feuil1 vers Feuil2

J'ai essayé le filtre, sans succès. Mais je m'yprends sans doute mal.

Je vais tenter le script (mais avec précautions 😉 )

Merci à vous.

Pour le filtre il faut se placer dans la feuille2 ensuite seulement Cliquer sur données/Filtrer/Filtre élaboré.
Il suffit de remplir les champs en cherchant les données sur l'autre feuille.
Pour une question pratique, tu met ta ligne de critère sur la feuille2 aussi.
 
Re : Filtrer des données de Feuil1 vers Feuil2

cher Maitre

Il y a B65536 dans les references parceque l'on nous dit qu'il y a
n°, client, date, quantité
ce qui donne n° en colonne A et Client en colonne B

Quant a selection : si l'on est en feuille2 rien n'est selectionné dans la feuille1

pour le script aller en
Outils -> Macro -> Visual Basic Editor
Cliquer su Feuil2 et copier le script complet
 
Re : Filtrer des données de Feuil1 vers Feuil2

Posté par pierrejean
bonjour jmd2

Mettre cette macro en Feuil2


Code:

Private Sub Worksheet_Activate()
ligne = 2
ActiveSheet.Cells.ClearContents
Sheets("Feuil1").Range("A1😀1").Copy Destination:=ActiveSheet.Range("A1")
For n = 2 To Sheets("Feuil1").Range("B65536").End(xlUp).Row
If UCase(Sheets("Feuil1").Range("B" & n)) = "DUPUIS" Then
Sheets("Feuil1").Range("A" & n & "😀" & n).Copy Destination:=ActiveSheet.Cells(ligne, 1)
End If
Next n
End Sub

edit Salut Maitre



Bonjour Pierrejean

Vraiment excellent, mais juste un petit point en plus, dans la feuil2, on obtient dans le filtre seulement la derniere ligne de Dupuis de Feuil1.
Où est l'ajustement pour obtenir tous les Dupuis de Feuil1 dans Feuil2
Bon dimanche
 
Re : Filtrer des données de Feuil1 vers Feuil2

re

EXACT !!!!

pas en forme en ce moment !!!!

il manque

ligne=ligne+1 soit:

Code:
Private Sub Worksheet_Activate()
ligne = 2
ActiveSheet.Cells.ClearContents
Sheets("Feuil1").Range("A1:D1").Copy Destination:=ActiveSheet.Range("A1")
For n = 2 To Sheets("Feuil1").Range("B65536").End(xlUp).Row
If UCase(Sheets("Feuil1").Range("B" & n)) = "DUPUIS" Then
Sheets("Feuil1").Range("A" & n & ":D" & n).Copy Destination:=ActiveSheet.Cells(ligne, 1)
[COLOR=blue]ligne=ligne+1
[/COLOR]End If
Next n
End Sub

Merci à toi pour avoir permis cette rectification
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
329
Réponses
15
Affichages
812
Retour