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 :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 :
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
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" <DelphineR@discussions.microsoft.com> a écrit dans le message de
news:179B81D9-ADB3-46BA-9346-1CDD5F974ED1@microsoft.com...
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 :
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 :