Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Spliter un classeur en plusieurs classeurs par pays par exemple?

2 réponses
Avatar
Angeles
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.

2 réponses

Avatar
JB
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:ú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.


Avatar
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 :

Workbooks(nom).Activate
ActiveWorkbook.SaveAs Filename:="C:CheminFrance.xls"

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.