XL 2016 Copier/coller lignes d'après critère

JohnBill

XLDnaute Occasionnel
Bonjour au forum et plus particulièrement à tous ceux qui m'on aidé par le passé. J'ai encore besoin d'aide.
J'ai un fichier (assez volumineux) pour gérer mes CD qui me permet de savoir si je possède ou non un disque et ou il se trouve (Référence). Or, le filtre automatique d'excel, très pratique, est limité et ne m'affiche pas tous les résultats car mon fichier est assez gros.Je souhaiterais, à partir de la feuille de base, extraire sur une autre feuille (nommée AV), les lignes dont le mot "Artistes variés" se trouve dans la colonne B.
De même, j'aimerais copier/coller les lignes dont le nom d'artiste commence par la lettre A jusqu'à la lettre K dans le feuille AàK et idem pour ceux commençant par la L à Z vers la feuille AàZ.
J'ai fait une petite macro pour le premier point mais elle est beaucoup trop longue à s'effactuer.
Quelqu-un peut il m'aider ? D'avance merci.
PJ : un fichier très réduit
 

Pièces jointes

  • Test.xlsm
    707.5 KB · Affichages: 32

don_pets

XLDnaute Occasionnel
'llo,

Voici déjà pour ta première demande (copier coller les "Artistes variés" sur feuille AV)

Code:
Sheets("ListeDesCDs").Select
Selection.AutoFilter Field:=2, Criteria1:="Artistes variés"
Range("a1").CurrentRegion.Copy

Sheets("AV").Select
Sheets("AV").Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False

Je regarde la suite
 

JohnBill

XLDnaute Occasionnel
La preuve. Regarde cette prise d'écran, il te dit lui même qu'il ne peut pas afficher tous les résultats.(Zoomer sur l'image car c'est écrit petit dans la fenêtre du filtre)
De plus, j'ai fais plusieurs contrôles et des lignes présentes dans la base n'étaient pas affichées dans le filtre.
 

JohnBill

XLDnaute Occasionnel
La preuve. Regarde cette prise d'écran, il te dit lui même qu'il ne peut pas afficher tous les résultats.(Zoomer sur l'image car c'est écrit petit dans la fenêtre du filtre)
De plus, j'ai fais plusieurs contrôles et des lignes présentes dans la base n'étaient pas affichées dans le filtre.
 

JohnBill

XLDnaute Occasionnel
Après essais, il semblerait que le filtre élaboré fonctionne. Comment l'écrire en VBA ?
En mettant dans la zone de critères la première lettre suivie d'une étoile (Ex : A*) et réitérer pour chaque lettre et reporter à chaque fois vers la feuille récap.
Question à laquelle je ne sais pas répondre.
 

JohnBill

XLDnaute Occasionnel
Rebonjour don_pets
Finalement, j'ai trouvé une solution en créant une feuille par lettre (A, B, C, D, etc) ainsi qu'un filtre avancé (plus fiable que le filtre auto) sur chaque feuille avec critère A*, B*, C*, etc... qui me sort sur chaque feuille la liste des artistes commençant par cette lettre.
Il m'a suffit ensuite de les regrouper sur deux feuilles de AàK et de LàZ.
J'avoue que c'est une méthode peu orthodoxe qui mériterait d'être simplifiée, mais efficace.
Merci tout de même de t'être penché sur mon problème d'autant que tu était le seul.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @JohnBill ;)

Merci de votre retour...

Sorry. Ne fonctionne pas. Erreur de compilation, variable non définie à la ligne : Set Plageres = Nothing
Merci quand même. Beau travail dont malheureusement je ne comprends pas très bien le fonctionnement.

Je n'avais pas déclaré la variable Plageres (curieux, car bien que l'option EXPLICIT soit présente, la compilation ne signale aucune erreur ??!?!!??)
Essayez la v2 ci-dessous jointe...

Si la v2 fonctionne aussi chez vous, alors, si vous me le demandez, je peux vous commenter le code.
 

Pièces jointes

  • JohnBill- VentilerCD- v2.xlsm
    56.1 KB · Affichages: 21

Discussions similaires

Statistiques des forums

Discussions
312 083
Messages
2 085 181
Membres
102 808
dernier inscrit
guo