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

VBA : filtres - exporter vers

1 réponse
Avatar
Delphine R
Bonjour,
J'ai une base de données et je voudrais créer une macro où je puisse
extraire dans plusieurs fichiers les données de chaques pays. Chaque fichier
aurait donc le nom du pays. J'ai enregistré une première macro qui exporte
les données de la FRANCE vers un fichier nommé cavefr. cijoint code :

Range("A4").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="France"
Selection.CurrentRegion.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:= _
"D:\Formations\Delphine\Delphine\Excel\cavefr.xls",
FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.Close

Quelqu'un connait il une astuce (une boucle ?)afin d'éviter de créer la même
macro pour les 12 pays de ma base ????

Merci de m'éclairer et merci beaucoup à ceux qui essayeront de résoudre ma
problèmatique.

--
Del R

1 réponse

Avatar
michdenis
Bonjour Delphine,

Tu pourrais t'inspirer de cela :

Le nom du nouveau classeur s'enregistrera sous le nom du critère dans le répertoire que tu as choisi.

'------------------------------
Sub ToutesLesFeuilles()

Dim Arr(), Rg As Range, Elt As Variant


'Tu insères la liste de tous les pays devant servir de critères
Arr = Array("France", "Belgique", "Suisse")

Application.ScreenUpdating = False
For Each elt In Arr
With ThisWorkbook
'Nom De la feuille à définir selon ton application
With .Worksheets("Feuil1")
With .Range("A4").CurrentRegion
.AutoFilter Field:=2, Criteria1:=elt
Set Rg = .Range("_FilterDataBase") _
.SpecialCells(xlCellTypeVisible)
.AutoFilter
End With
End With
End With

Workbooks.Add -4167
With ActiveWorkbook
With .Worksheets(1)
.Name = elt
Rg.Copy .Range("A1")
End With
.SaveAs Filename:= _
"D:FormationsDelphineDelphineExcel" & elt & ".xls"
.Close
End With
Next

End Sub
'------------------------------



Salutations!





"Delphine R" a écrit dans le message de
news:
Bonjour,
J'ai une base de données et je voudrais créer une macro où je puisse
extraire dans plusieurs fichiers les données de chaques pays. Chaque fichier
aurait donc le nom du pays. J'ai enregistré une première macro qui exporte
les données de la FRANCE vers un fichier nommé cavefr. cijoint code :

Range("A4").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="France"
Selection.CurrentRegion.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:= _
"D:FormationsDelphineDelphineExcelcavefr.xls",
FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.Close

Quelqu'un connait il une astuce (une boucle ?)afin d'éviter de créer la même
macro pour les 12 pays de ma base ????

Merci de m'éclairer et merci beaucoup à ceux qui essayeront de résoudre ma
problèmatique.

--
Del R