j'ai un classeur excel avec 2 feuilles qui contients des lignes d'
informations pour plusieurs pays différents; je souhaite à partir de ce
classeur enregistrer le même classeur mais uniquement avec les lignes de
chaque pays, par exemble je veux enregistrer sous le nom France, les lignes
avec le code pays France, sous le nom Allemagne, le classeur avec les lignes
de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2
feuilles pour chaque classeur c'est galère.
Sub CreeClasseurs() Application.DisplayAlerts = False [A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[g1], Unique:=True For Each c In Range("G2", Range("G65000").End(xlUp)) Range("G2") = c Sheets("Modèle").Select Sheets("BD2").[A1:D10000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("BD2").[G1:G2], CopyToRange:=Sheets("Modèle").[A1:D1], Unique:úlse ActiveSheet.Copy ActiveSheet.Name = c ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close Sheets("BD2").Select Next c End Sub
Cordialement JB
On 4 mai, 15:03, Angeles wrote:
j'ai un classeur excel avec 2 feuilles qui contients des lignes d' informations pour plusieurs pays différents; je souhaite à partir de ce classeur enregistrer le même classeur mais uniquement avec les lignes de chaque pays, par exemble je veux enregistrer sous le nom France, les lign es avec le code pays France, sous le nom Allemagne, le classeur avec les lig nes de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2 feuilles pour chaque classeur c'est galère.
Bonjour,
Exemple: http://cjoint.com/?feq10yXDAx
Sub CreeClasseurs()
Application.DisplayAlerts = False
[A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[g1],
Unique:=True
For Each c In Range("G2", Range("G65000").End(xlUp))
Range("G2") = c
Sheets("Modèle").Select
Sheets("BD2").[A1:D10000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("BD2").[G1:G2],
CopyToRange:=Sheets("Modèle").[A1:D1], Unique:=False
ActiveSheet.Copy
ActiveSheet.Name = c
ActiveWorkbook.SaveAs Filename:=c
ActiveWorkbook.Close
Sheets("BD2").Select
Next c
End Sub
Cordialement JB
On 4 mai, 15:03, Angeles <Ange...@discussions.microsoft.com> wrote:
j'ai un classeur excel avec 2 feuilles qui contients des lignes d'
informations pour plusieurs pays différents; je souhaite à partir de ce
classeur enregistrer le même classeur mais uniquement avec les lignes de
chaque pays, par exemble je veux enregistrer sous le nom France, les lign es
avec le code pays France, sous le nom Allemagne, le classeur avec les lig nes
de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2
feuilles pour chaque classeur c'est galère.
Sub CreeClasseurs() Application.DisplayAlerts = False [A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[g1], Unique:=True For Each c In Range("G2", Range("G65000").End(xlUp)) Range("G2") = c Sheets("Modèle").Select Sheets("BD2").[A1:D10000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("BD2").[G1:G2], CopyToRange:=Sheets("Modèle").[A1:D1], Unique:úlse ActiveSheet.Copy ActiveSheet.Name = c ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close Sheets("BD2").Select Next c End Sub
Cordialement JB
On 4 mai, 15:03, Angeles wrote:
j'ai un classeur excel avec 2 feuilles qui contients des lignes d' informations pour plusieurs pays différents; je souhaite à partir de ce classeur enregistrer le même classeur mais uniquement avec les lignes de chaque pays, par exemble je veux enregistrer sous le nom France, les lign es avec le code pays France, sous le nom Allemagne, le classeur avec les lig nes de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2 feuilles pour chaque classeur c'est galère.
FFO
Salut Angeles
Si j'ai bien compris tu veux pour un pays donné enregistrer ses propres lignes dans un classeur à son nom Il y aura autant de classeurs que de noms soit 20 classeurs Je te propose donc dans cet esprit prenant la colonne A comme possedant les noms de pays Pour la France par exemple (soyons chauvin !!!):
Workbooks.Add nom = ActiveWorkbook.Name Workbooks("Classeur source.xls").Activate Sheets("Feuil1").Select For Each c In Worksheets("Feuil1").Range([A1], [A65535].End(xlUp)) If c = "Code pays France" Then c.EntireRow.Copy Workbooks(nom).Activate ActiveSheet.Paste ActiveCell.Offset(1, 0).Select Workbooks("Classeur source.xls").Activate End If Next
Si tu souhaites enregistrer rajoute ces lignes à la fin du code :
Voilà pour notre chere patrie Tu n'as plus qu'à renouveler l'opération pour chaque pays
Celà te convient-il ????
j'ai un classeur excel avec 2 feuilles qui contients des lignes d' informations pour plusieurs pays différents; je souhaite à partir de ce classeur enregistrer le même classeur mais uniquement avec les lignes de chaque pays, par exemble je veux enregistrer sous le nom France, les lignes avec le code pays France, sous le nom Allemagne, le classeur avec les lignes de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2 feuilles pour chaque classeur c'est galère.
Salut Angeles
Si j'ai bien compris tu veux pour un pays donné enregistrer ses propres
lignes dans un classeur à son nom
Il y aura autant de classeurs que de noms soit 20 classeurs
Je te propose donc dans cet esprit prenant la colonne A comme possedant les
noms de pays
Pour la France par exemple (soyons chauvin !!!):
Workbooks.Add
nom = ActiveWorkbook.Name
Workbooks("Classeur source.xls").Activate
Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([A1], [A65535].End(xlUp))
If c = "Code pays France" Then
c.EntireRow.Copy
Workbooks(nom).Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Workbooks("Classeur source.xls").Activate
End If
Next
Si tu souhaites enregistrer rajoute ces lignes à la fin du code :
Voilà pour notre chere patrie
Tu n'as plus qu'à renouveler l'opération pour chaque pays
Celà te convient-il ????
j'ai un classeur excel avec 2 feuilles qui contients des lignes d'
informations pour plusieurs pays différents; je souhaite à partir de ce
classeur enregistrer le même classeur mais uniquement avec les lignes de
chaque pays, par exemble je veux enregistrer sous le nom France, les lignes
avec le code pays France, sous le nom Allemagne, le classeur avec les lignes
de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2
feuilles pour chaque classeur c'est galère.
Si j'ai bien compris tu veux pour un pays donné enregistrer ses propres lignes dans un classeur à son nom Il y aura autant de classeurs que de noms soit 20 classeurs Je te propose donc dans cet esprit prenant la colonne A comme possedant les noms de pays Pour la France par exemple (soyons chauvin !!!):
Workbooks.Add nom = ActiveWorkbook.Name Workbooks("Classeur source.xls").Activate Sheets("Feuil1").Select For Each c In Worksheets("Feuil1").Range([A1], [A65535].End(xlUp)) If c = "Code pays France" Then c.EntireRow.Copy Workbooks(nom).Activate ActiveSheet.Paste ActiveCell.Offset(1, 0).Select Workbooks("Classeur source.xls").Activate End If Next
Si tu souhaites enregistrer rajoute ces lignes à la fin du code :
Voilà pour notre chere patrie Tu n'as plus qu'à renouveler l'opération pour chaque pays
Celà te convient-il ????
j'ai un classeur excel avec 2 feuilles qui contients des lignes d' informations pour plusieurs pays différents; je souhaite à partir de ce classeur enregistrer le même classeur mais uniquement avec les lignes de chaque pays, par exemble je veux enregistrer sous le nom France, les lignes avec le code pays France, sous le nom Allemagne, le classeur avec les lignes de l'Allemagne et ainsi de suite, j'ai 20 pays
Merci pour votre aide car le filtre et puis copier coller chaque fois les 2 feuilles pour chaque classeur c'est galère.