le tout sur 4000 lignes et une 20taine de colonne comprenant environ 200
sociétés
Le but du jeu est de créer un classeur par sociétés reprenant les entêtes,
les lignes correspondantes à chaque société et d'enregistrer le nouveau
classeur sous les références des sociétés. Evidemment il est possible de les
créer un par un mais c'est long et fastidieux et j'aimerais une procédure
qui puisse me faire gagner du temps
car après il me faut joindre les fichiers ainsi créés à un mail, évidemment
un mail par sociétés ....
Y'a du boulot ...... c'est pour cela je fais appel au petit génies d'Excel
merci à tous
Sub CreeClasseurs() Application.DisplayAlerts = False Application.ScreenUpdating = False ExtraitService For Each c In Range("I2", Range("I2").End(xlDown)) Range("G3") = c Sheets("Modèle").Select Sheets("BD2").Range("A1:D10000").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("BD2").Range("G2:G3"), CopyToRange:=Sheets("Modèle").Range("A1:D1"), Unique:úlse ActiveSheet.Copy ActiveSheet.Name = c ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close Sheets("BD2").Select Next c End Sub
G H I 1 Critère Service 2 Service Compta 3 Pers Etudes Fabric
Cordialement JB
Bonjour,
http://cjoint.com/?cwr2phXyru
Sub CreeClasseurs()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ExtraitService
For Each c In Range("I2", Range("I2").End(xlDown))
Range("G3") = c
Sheets("Modèle").Select
Sheets("BD2").Range("A1:D10000").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("BD2").Range("G2:G3"),
CopyToRange:=Sheets("Modèle").Range("A1:D1"), Unique:=False
ActiveSheet.Copy
ActiveSheet.Name = c
ActiveWorkbook.SaveAs Filename:=c
ActiveWorkbook.Close
Sheets("BD2").Select
Next c
End Sub
Sub CreeClasseurs() Application.DisplayAlerts = False Application.ScreenUpdating = False ExtraitService For Each c In Range("I2", Range("I2").End(xlDown)) Range("G3") = c Sheets("Modèle").Select Sheets("BD2").Range("A1:D10000").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("BD2").Range("G2:G3"), CopyToRange:=Sheets("Modèle").Range("A1:D1"), Unique:úlse ActiveSheet.Copy ActiveSheet.Name = c ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close Sheets("BD2").Select Next c End Sub
G H I 1 Critère Service 2 Service Compta 3 Pers Etudes Fabric
Cordialement JB
Lalouve
merci milles fois c'est tout à fait ce que je désire
"JB" a écrit dans le message de news: Bonjour,
http://cjoint.com/?cwr2phXyru
Sub CreeClasseurs() Application.DisplayAlerts = False Application.ScreenUpdating = False ExtraitService For Each c In Range("I2", Range("I2").End(xlDown)) Range("G3") = c Sheets("Modèle").Select Sheets("BD2").Range("A1:D10000").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("BD2").Range("G2:G3"), CopyToRange:=Sheets("Modèle").Range("A1:D1"), Unique:úlse ActiveSheet.Copy ActiveSheet.Name = c ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close Sheets("BD2").Select Next c End Sub
G H I 1 Critère Service 2 Service Compta 3 Pers Etudes Fabric
Cordialement JB
merci milles fois c'est tout à fait ce que je désire
"JB" <boisgontier@hotmail.com> a écrit dans le message de
news:1140627426.751111.245930@g44g2000cwa.googlegroups.com...
Bonjour,
http://cjoint.com/?cwr2phXyru
Sub CreeClasseurs()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ExtraitService
For Each c In Range("I2", Range("I2").End(xlDown))
Range("G3") = c
Sheets("Modèle").Select
Sheets("BD2").Range("A1:D10000").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("BD2").Range("G2:G3"),
CopyToRange:=Sheets("Modèle").Range("A1:D1"), Unique:úlse
ActiveSheet.Copy
ActiveSheet.Name = c
ActiveWorkbook.SaveAs Filename:=c
ActiveWorkbook.Close
Sheets("BD2").Select
Next c
End Sub
merci milles fois c'est tout à fait ce que je désire
"JB" a écrit dans le message de news: Bonjour,
http://cjoint.com/?cwr2phXyru
Sub CreeClasseurs() Application.DisplayAlerts = False Application.ScreenUpdating = False ExtraitService For Each c In Range("I2", Range("I2").End(xlDown)) Range("G3") = c Sheets("Modèle").Select Sheets("BD2").Range("A1:D10000").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("BD2").Range("G2:G3"), CopyToRange:=Sheets("Modèle").Range("A1:D1"), Unique:úlse ActiveSheet.Copy ActiveSheet.Name = c ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close Sheets("BD2").Select Next c End Sub