Filtre, copier, coller

mateo44 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
mateo44 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je vous adresse ce message puisque je galère complètement sur ce que je veux faire ..!

J'ai un fichier excel avec 3 feuilles.
Dans chacune de feuilles il y a un code groupe. (16 groupes) et d'autres variables !

Je dois :

- afficher dans une liste les 16 groupes (ça OK)

- mais lorsque je sélectionne un groupe, je dois afficher uniquement les informations pour ce groupe.. S'il y a 10 lignes dans le groupe 1, je dois afficher QUE les 10 lignes (il ne faut pas que ça soit un filtre normal qui lorsque je reclick su filtre, me fasse apparaître toutes les lignes à nouveau)

- copier le résultat du filtre dans un nouveau classeur de sorte que si je sélectionne le groupe 1 dans la liste, un classeur excel doit se créer avec les 3 feuilles avec les info du groupe 1..

Si vous avez des pistes pour m'aider ça serait vraiment sympa..

Cordialement,

Mateo
A voir également:

3 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Salut,

Fais un tableau croisé dynamique.
0
mateo44 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Private Sub CommandButton2_Click()
Dim groupe As Integer
groupe = InputBox("groupe?")
Range("B1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$O$428").AutoFilter Field:=2, Criteria1:="groupe"
Range("A1:O428").Select
Range("B1").Activate
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
End Sub

Voici le début de mon compte, cependant quand je rentre le nom du groupe ça ne marche pas, mais si je remplace groupe par la valeur précise cela fonctionne.
0
mateo44 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai donc ensuite essayé d'automatiser avec une boucle, ça créer bien les 16 feuilles avec les noms de colonnes, mais pas les valeurs filtrées !!!

Private Sub CommandButton3_Click()
Dim i As Integer
For i = 1 To 16
Selection.AutoFilter
ActiveSheet.Range("$A$1:$O$428").AutoFilter Field:=2, Criteria1:="100+i"
Range("A1:O428").Select
Range("B1").Activate
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
Sheets("Feuil6").Select
Application.CutCopyMode = False
Selection.AutoFilter
Next
End Sub


Des suggestions ?
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Tu as testé le mode pas à pas avec les espions? Si tu ne connais pas tape sur google, ça aide énormément en vba.
0
mateo44 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Oui ! mais je sais où est l'erreur ^^

ActiveSheet.Range("$A$1:$O$428").AutoFilter Field:=2, Criteria1:="100+i"

il reconnait pas le i, enfin, quand je fais for i = 1 to 2
il va me créer deux feuilles, mais dans le filtre il ne prend pas en compte le i

Je veux qu'il me créer une feuille pour le groupe 101 avec les valeurs du groupe
Une autre pour le groupe 102
etc..

Mais lui ne créer que les feuilles sans prendre les valeurs !! Il comprend pas que 100+i = 101, 102, 103, ... 116
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
écris "100" & i
0
mateo44 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention  
 
Nop il veut pas ça fait toujours la même chose, feuille créer sans les valeurs

j'ai essayé : ^

"100" & i

"100"&"i"

"10&i"

"10"&i

"10" & "i"

ça veut pas !
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
"100" + i
0