Trie dans une autre feuille ou classeur
Bonjour,Président d'un club de judo, j'ai fais un formulaire avec google docs et j'ai demandé à mes adhérents de s'incrire en ligne.
Je me retrouve donc avec une base de donnée que j'ai exporté dans excel (2007).
ce formulaire est de cette forme, nom, prénom, date de naissance, dojo, ect....
Je souhaite récupérer de maniere automatique sur une autre feuille voir sur un autre classeur tous les élèves du dojo A, (car nous avons plusieurs salle d'entrainement).
Que pouvez vous me proposer comme solution ? ( je suis novice sous excel ).
Merci
Bonjour,
Avec un fichier joints, ce serait parfait.
Cdlt,
Darzou
Bonjour,
Regarde si ça te convient. Le résultat du filtrage se fait soit sur une autre feuille du même classeur, soit dans un autre classeur (le classeur est ajouté automatiquement) :
'filtrage avec récup dans un autre classeur
Sub TestClasseur()
FiltreVersAutreClasseur "Dojo A"
End Sub
Sub FiltreVersAutreClasseur(Dojo As String)
Dim Cl_Recup As Workbook
Dim Cl_Filtre As Workbook
Dim Fe_Recup As Worksheet
Dim Fe_Filtre As Worksheet
Dim Plg As Range
Set Cl_Filtre = ActiveWorkbook
Set Fe_Filtre = Cl_Filtre.Worksheets("Feuil1")
'ajoute un nouveau classeur pour recevoir les valeurs filtrées
Set Cl_Recup = Workbooks.Add
'défini la feuille "Feuil1" comme cible pour
'la récupération des valeurs filtrées
Set Fe_Recup = Cl_Recup.Worksheets("Feuil1")
'défini la plage à filtrer (toutes les cellules utilisées)
Set Plg = Plage(Fe_Filtre)
With Plg
'exécute le filtrage (adapter la position de la colonne à filtrer, ici, en colonne 4 )
.AutoFilter 4, Dojo
'copie les valeurs filtrées dans le nouveau classeur
Fe_Filtre.AutoFilter.Range.EntireRow.Copy Fe_Recup.[A1]
'supprime le filtrage
.AutoFilter
End With
End Sub
Sub TestFeuille()
FiltreSurAutreFeuille "Dojo A"
End Sub
'filtrage dans le même classeur
Sub FiltreVersAutreFeuille(Dojo As String)
Dim Cls As Workbook
Dim Fe_Filtre As Worksheet
Dim Fe_Recup As Worksheet
Dim Plage As Range
'classeur actif (où se trouve ce code)
Set Cls = ActiveWorkbook
'feuille sur laquelle exécuter le filtrage
Set Fe_Filtre = Cls.Worksheets("Feuil1")
'défini la feuille "Feuil2" comme cible pour
'la récupération des valeurs filtrées
Set Fe_Recup = Cls.Worksheets("Feuil2")
'défini la plage à filtrer (toutes les cellules utilisées sauf la ligne 1, entêtes)
With Fe_Filtre
Set Plage = .Range(.Cells(2, 1), _
.Cells(.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
With Plage
'exécute le filtrage (adapter la position de la colonne à filtrer, ici, en colonne 4 )
.AutoFilter 4, Dojo
'copie les valeurs filtrées dans la feuille "Feuil2"
Fe_Filtre.AutoFilter.Range.EntireRow.Copy Fe_Recup.[A1]
'supprime le filtrage
.AutoFilter
End With
End Sub
Function Plage(Fe As Worksheet) As Range
With Fe
Set Plage = .Range(.Cells(1, 1), _
.Cells(.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
End FunctionHer'vé.
Bonjour. Bienvenue sur le Forum
Avec un filtre élaboré VBA
Code dans module1
Cordialement
Bonjour a tous et merci de vos réponses rapides.
Je vais reformuler ma demande afin d’être le plus clair possible.
1- Mon fichier de base est un formulaire créée avec google docs
Vous pourrez le visualiser a cette adresse.
ou a partir de mon site : http://www.jco974.org
Je récupère ce fichier « fiche inscription » sur Google docs (fichier joint) sur excel pour faire les extractions (sachant que je souhaite par la suite le réintégrer sur l’espace Google docs avec les nouveaux fichiers d’extraction afin que l’ensemble des profs de judo puissent avoir accès aux différents tries.
2- D’abord est-il possible de faire un peu de ménage dans le fichier :
a. les numéros de téléphone sont de la forme : 0692585858, si l’adhérant tape les 10 chiffres a la suite le 0 saute dans la cellule et on a plus que 692585858 sachant que je n’ai aucun moyen de « régler cela dans google doc » et je voudrais que l on y mette qu’ un seul numéro (10 chiffres)
b. meme chose pour le numéro de sécu
3- Je reviens a ma 1ere demande :
a. Dans un nouveau classeur « dojos » je voudrai extraire les noms, prénoms , profs, paiement en espèce, cheque, par dojo (9): (liste de dojos : Bois rouge maison Celestin, boucan, Pichette, Bellemene, Saint Paul 4, Albany, Dos d’ane ,Possession centre, Ravine à Malheur.
i. Feuil1 « Bois rouge » : noms, prénoms , profs, paiement en espèce, cheque
ii. Feuil2 « boucan » noms, prénoms , profs, paiement en espèce, cheque
iii. Etc.
b. Dans un nouveau classeur « catégories » je voudrai extraire les noms, prénoms, dates de naissances et les classer par catégories
i. Feuil1 : Baby judo (nés en 2007-2008-2009)
ii. Feuil2 : Mini-Poussins (nés en 2005-2006)
iii. Feuil3 : Petits- tigres (nés en 2003-2004)
iv. Feuil4 : Benjamins (es) (nés en 2001-2002)
v. Feuil5 : Minimes (nés en 2000-1999)
vi. Feuil6 : Cadets (nés en 1998-1997)
vii. Feuil7 : Juniors- seniors (nés en 1996 et +)
c. Dans un nouveau classeur « newsletter » je voudrai extraire les noms, prénoms, et mail ( afin de l’importer dans mon site pour les news letters »
Je pense que des que j’aurai un model je pourrai faire d’autres extractions simples.
Par avance merci encore