Bonjour à tous
J'utilise la macro suivante pour extraire mes données par onglets selon un critère (dans mon cas pays)
Il semble que cette macro supprime les autres onglets existants au moment de l'extraction des données par onglets
Comment je peux mettre à jour cette macro afin :
- D'extraire mes données par onglets sans supprimer les autres onglets existants
- Exporter les onglets crées dans des classeurs individuels , sans exporter les autres onglets existants
Merci par avance
J'utilise la macro suivante pour extraire mes données par onglets selon un critère (dans mon cas pays)
Il semble que cette macro supprime les autres onglets existants au moment de l'extraction des données par onglets
Comment je peux mettre à jour cette macro afin :
- D'extraire mes données par onglets sans supprimer les autres onglets existants
- Exporter les onglets crées dans des classeurs individuels , sans exporter les autres onglets existants
Merci par avance
VB:
Sub Macro1()
Dim Plg As Range
Dim DerLig As Long
Dim Sh As Worksheet
Dim Cel As Range
Dim Pays As Object 'Changer par le titre de la colonne
Dim It
Set Pays = CreateObject("Scripting.Dictionary") 'Changer par le titre de la colonne
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
For Each Sh In Sheets
If Sh.Name <> "Base" Then Sh.Delete 'Nom de l'onglet de la Data Base
Next Sh
With Sheets("Base")
DerLig = .Cells(Rows.Count, "A").End(xlUp).Row
Set Plg = .Range("A4:E" & DerLig) ' Spécifier dernière colonne
.[Z1] = .[B4] 'Colonne à Filtrer
For Each Cel In .Range("B5:B" & DerLig)
Pays(Cel.Value) = Cel.Value
Next Cel
For Each It In Pays.Items
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Left(It, 31)
.[Z2] = It
Plg.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("Z1:Z2"), CopyToRange:=ActiveSheet.Range("A1"), Unique:=False
Next It
.Range("Z1:Z2").Clear
.Select
End With
End Sub