copier/coller d edonner sur criteres par macro

domflo

XLDnaute Junior
Bonjour,

En visitant le forum j'ai presque trouvé la macro qu'il me fallait, mais il me manque une variable.
Cad j'ai une feuille avec des données et je souhaite copier toutes les lignes qui ont la même valeur de A2 à A......, et copié ces lignes dans des classeurs que la macro ouvre.
Car la macro ci-dessous ne copie que la première ligne.
Mes connaissances en VBA sont quasi nulles, si vous pouviez m'aider
Par avance merci.
Voici la macro
+ le fichier joint
Sub test()
'

chemin = ActiveWorkbook.Path
MonNom = ActiveWorkbook.Name
For n = 2 To Range("A65536").End(xlUp).Row
Workbooks.Add(xlWBATWorksheet).SaveAs chemin & "/" & Workbooks(MonNom).Sheets("recap").Range("A" & n)
Workbooks(MonNom).Sheets("recap").Range("A1:l1").C opy Destination:=ActiveSheet.Range("A1")
Workbooks(MonNom).Sheets("recap").Range("A" & n & ":G" & n).Copy Destination:=ActiveSheet.Range("A2")
Next n
End Sub
 

domflo

XLDnaute Junior
Re : copier/coller d edonner sur criteres par macro

Bonsoir,

Merci pour ta réponse, voici le fichier que je dois utiliser, la macro que j'ai actuellmenet ne fait que recopier la 1 ere ligne et bug;
ce que je souhaite c'est qu'il ouvre 3 feuilles avec pour la feuille 13 les lignes 2/3/4 pour la feuille 14 les lignes 5 et....
désolé pour le fichier précédent il etait polué de queslques zones de trop.

Par avance merci.
Dominique
 

Cousinhub

XLDnaute Barbatruc
Re : copier/coller d edonner sur criteres par macro

Bonsoir,
désolé, mais je ne comprends pas trop ta demande....

ce que je souhaite c'est qu'il ouvre 3 feuilles

Qu'il ouvre ou qu'il crée?
3 feuilles ou 3 classeurs?

Mon fichier précédent correspond parfaitement, s'il faut créer les classeurs, reste à adapter la zone (A à H) au lieu de (A à G).
Ton fichier joint ne m'a rien apporté de plus....:(
 

domflo

XLDnaute Junior
Re : copier/coller d edonner sur criteres par macro

oui, qu'il crée 3 classeurs avec toutes les lignes commençants par 13, puis le classeur 14 avec toutes les lignes commençants par 14...

J'ai pourtant repris ton fichier mais j'ai un message d'erreur car il veut créer 2 classeurs avec le même nom (13).
 

Cousinhub

XLDnaute Barbatruc
Re : copier/coller d edonner sur criteres par macro

Re-,
dans le code de la macro, mets un ' devant la ligne :

Columns("J:K").Delete Shift:=xlToLeft

afin de ne pas exécuter cette ligne (elle passe en vert)
et dis-moi ce qu'il y a dans les cellules (K1 à Kxxxx)

Edit : euh, t'avais pas un fichier nommé 13.xls dans le répertoire courant avant de lancer la macro?
 

Cousinhub

XLDnaute Barbatruc
Re : copier/coller d edonner sur criteres par macro

Re-,
en analysant la macro :

Sub CreeClasseurs()
chemin = ActiveWorkbook.Path & "\"
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets.Add.Name = "transfert"
Sheets("Synthèse GA").Select
Range("A4:A" & Range("A65000").End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"K1"), Unique:=True
Range("J1").Value = "DR"
For Each c In Range("K2", Range("K65000").End(xlUp))
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
Range("J2") = c
Sheets("transfert").Select
Sheets("Synthèse GA").Range("A4:G10000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Synthèse GA").Range("J1:J2"), CopyToRange:=Sheets("transfert").Range("A1:G1"), Unique:=False
ActiveSheet.Copy
ActiveSheet.Name = c
ActiveWorkbook.SaveAs Filename:=chemin & c
ActiveWorkbook.Close
Sheets("Synthèse GA").Select
Next c
Columns("J:K").Delete Shift:=xlToLeft
Range("A1").Select
Sheets("transfert").Select
ActiveWindow.SelectedSheets.Delete
End Sub

tu vois que je fais référence à un onglet nommé ("Synthèse GA")
sur ton fichier, il s'appelle recap..... donc pas facile...
ce qui m'intéresserait, c'est une copie de ta première colonne afin de voir si toutes les données sont bien au format nombre et non au format texte...
Par contre, qu'il n'y ait rien dans la colonne K, cela m'étonne fortement,

Range("A4:A" & Range("A65000").End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"K1"), Unique:=True

cette extraction devant copier les valeurs uniques de la colonne DR :confused:
 

Cousinhub

XLDnaute Barbatruc
Re : copier/coller d edonner sur criteres par macro

Re-,
merci, les valeurs, ça m'intéresse pas trop....:eek:
Je voudrais juste voir le format des cellules, savoir si toutes les valeurs sont bien au format nombre (si tu sélectionnes la colonne A, et que tu fais Format/Cellule, et que dans l'onglet "Alignement", dans l'alignement Horizotal, tu détermines "Standard", est-ce que tous les chiffres se mettent à droite?)
Oui, j'ai bien reçu le fichier par mail, mais ça m'aide pas trop....
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 975
dernier inscrit
denry