Recopier Des Lignes Suivant Critere Defini

  • Initiateur de la discussion Initiateur de la discussion Valdoiz
  • 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 !

V

Valdoiz

Guest
Bonjour à tous,
je souhaiterai en fonction de critères choisis que les lignes qui pourraient correspondre soit recopier sur une nouvelle feuille.
Il y a 16 colonnes dans ma base de données et environ 8900 ligne qui continuerons de ce remplir,
j'aimerais, si possible pouvoir choisir un ou plusieur critère et voir si certaines reference existe en fonction de ma demande.
Que seulement les données des lignes correspondant à l'ensemble des critères definis soit recopié
Merci pour votre aide
 

Pièces jointes

Re : Recopier Des Lignes Suivant Critere Defini

bonjour Valdoiz,le forum
pas vu de critères, mais j'en ai mis en B1,C1,D1 feuille1
si tu les changes et si tu cliques sur le bouton 'nouveaux critères',les données s'ajoutent à la suite de celles de la feuille2
à bientôt
 

Pièces jointes

Re : Recopier Des Lignes Suivant Critere Defini

Merci Bebere mais je n'ai Pas tout compris
Merci catrice cela pourrait correspondre à Mon attente mais je n'arrive pas a l'adapter à ma base de donnée.
A bientôt
 
Dernière modification par un modérateur:
Re : Recopier Des Lignes Suivant Critere Defini

Bonjour,

Tu as des problemes pour appliquer l'exemple sur un autre fichier ou bien l'exemple ne correspond/fonctionne pas ?

Pour le mettre en oeuvre :
C'est simplement un filtre élaboré. Données/Filtre/Filtre elaboré piloté par macro.
Le filtre s'appuie sur une zone variable nommée Base (CTRL+F3 pour voir le nom base)
L'avantage est que si on rajoute des données, elles sont prises en compte.

La macro (ALT+F11 pour voir) met à jour le filtre en fonction de la base (variable) => Range("Base") dans la macro

Il suffit de mettre des critères dans la zone jaune pour filtrer.

Si besoin de plus d'explication n'hesite pas.
 
Re : Recopier Des Lignes Suivant Critere Defini

Catrice à dit:
Bonjour,

Tu as des problemes pour appliquer l'exemple sur un autre fichier ou bien l'exemple ne correspond/fonctionne pas ?

Pour le mettre en oeuvre :
C'est simplement un filtre élaboré. Données/Filtre/Filtre elaboré piloté par macro.
Le filtre s'appuie sur une zone variable nommée Base (CTRL+F3 pour voir le nom base)
L'avantage est que si on rajoute des données, elles sont prises en compte.

La macro (ALT+F11 pour voir) met à jour le filtre en fonction de la base (variable) => Range("Base") dans la macro

Il suffit de mettre des critères dans la zone jaune pour filtrer.

Si besoin de plus d'explication n'hesite pas.

Bonjour,
En effet, j'ai un petit soucis pour la mettre en oeuvre dans mon fichier, lorsque j'essai d'appliquer la macro j'ai une erreur 1004 avec une ouverture de VBA qui m'indique une erreur dans la ligne:
Range("Base1").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A5:Y5"), CopyToRange:=Range("A5:Y5")

Pourtant je n'ai fait qu'adapter les lignes par rapport a mon fichier et changer le nom base en base1 puisque j'ai trois base de données différentes dans le classeur.
Merci à toi
 
Re : Recopier Des Lignes Suivant Critere Defini

Bonjour,

Oulà.... c'est vieux ce truc 😉

Tes autres bases sont nommées ?

Pour que ça fonctionne, il faut que tu définisses un nom variable dans la feuille. (nommé "Base" ou autre ...)
Et que la macro s'y réfère.

=> CTRL+F3
Par exemple nom : Base
Refére à : =DECALER(Feuil1!$A$7;0;0;NBVAL(Feuil1!$A:$A);NBVAL(Feuil1!$7:$7))
Où :
Feuil1!$A$7 est la premiere cellule de ta base (1er nom de champ)
Feuil1!$A:$A la premiere colonne
Feuil1!$7:$7 la premiere ligne

Il ne doit pas y avoir de lignesparasites sous et au-dessus de la base.
L'avantage de ce nom, c'est qu'il refere "dynamiquement" à l'ensemble de la base meme qd on rajoute des données (bien sur il faut obligatoirement qq chose dans la colonne A (dans l'exemple))

Regarde l'exemple envoyé à l'époque et CTRL+F3 pour voir le nom
Si soucis, reviens par ici ...
A+
 
Re : Recopier Des Lignes Suivant Critere Defini

bonjour Valdoiz,Catrice

en reprenant le code de Catrice,essaye ce qui suit,pas besoin de nom défini

Sub Filtre()
Dim Rng As Range
Application.ScreenUpdating = False
Range(Range("A5"), ActiveCell.SpecialCells(xlLastCell)).Clear
Set Rng = Sheets("Feuil1").Range("A7:Q" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
Rng.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A1:Q2"), CopyToRange:=Range("A5:Q5")
Set Rng = Nothing
'efface critères
Range("A1:Q2").ClearContents
Application.ScreenUpdating = True
End Sub


à bientôt
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour