[COLOR=Blue]Sub[/COLOR] test()
[COLOR=Blue]Dim [/COLOR]fnRC [COLOR=Blue]As String[/COLOR], fnBAR [COLOR=Blue]As String[/COLOR], wbkRC [COLOR=Blue]As [/COLOR]Workbook, wbkBAR [COLOR=Blue]As [/COLOR]Workbook, newWbk [COLOR=Blue]As [/COLOR]Workbook, extractFolderPath [COLOR=Blue]As String[/COLOR], shtRC [COLOR=Blue]As [/COLOR]Worksheet, shtBAR [COLOR=Blue]As [/COLOR]Worksheet, errorCode [COLOR=Blue]As String[/COLOR]
Application.DisplayAlerts = [COLOR=Blue]False[/COLOR]
[COLOR=SeaGreen]'récupérer les "fichier sources" et le "dossier destination"[/COLOR]
fnRC = Application.GetSaveAsFilename(filefilter:="Fichiers Excel, *.xls; *.xlsx; *.xlsm", Title:="Sélectionnez le fichier ""PB-AGENTS_RC""")
fnBAR = Application.GetSaveAsFilename(filefilter:="Fichiers Excel, *.xls; *.xlsx; *.xlsm", Title:="Sélectionnez le fichier ""PB-AGENTS_BAR""")
Application.FileDialog(msoFileDialogFolderPicker).Show
extractFolderPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
[COLOR=SeaGreen]
'ouvrir les "fichier sources"[/COLOR]
[COLOR=Blue]Set [/COLOR]wbkRC = Application.Workbooks.Open(Filename:=fnRC, ReadOnly:=[COLOR=Blue]True[/COLOR])
[COLOR=Blue]Set [/COLOR]wbkBAR = Application.Workbooks.Open(Filename:=fnBAR, ReadOnly:=[COLOR=Blue]True[/COLOR])
[COLOR=SeaGreen]'boucler sur les onglets du fichie RC[/COLOR]
[COLOR=Blue]For Each[/COLOR] shtRC [COLOR=Blue]In [/COLOR]wbkRC.Sheets
[COLOR=SeaGreen]'récupérer le code erreur de l'"onglet RC" analysé[/COLOR]
errorCode = Replace(shtRC.Name, "PB_RC_", "")
[COLOR=SeaGreen] 'créer le classeur spécifique à cette erreur[/COLOR]
[COLOR=Blue]Set [/COLOR]newWbk = Application.Workbooks.Add
[COLOR=SeaGreen]'copier l'"onglet RC" analysé après le dernier onglet du nouveau classeur[/COLOR]
shtRC.Copy after:=newWbk.Sheets(newWbk.Sheets.Count)
[COLOR=SeaGreen]'supprimer toutes les autres feuilles[/COLOR]
[COLOR=Blue]While [/COLOR]newWbk.Sheets.Count > 1
newWbk.Sheets(1).Delete
[COLOR=Blue]Wend[/COLOR]
[COLOR=SeaGreen]'boucler sur les onglets du fichie BAR[/COLOR]
[COLOR=Blue]For Each[/COLOR] shtBAR [COLOR=Blue]In [/COLOR]wbkBAR.Sheets
[COLOR=SeaGreen]'si le nom de l'"onglet BAR" analysé contien le "code erreur", alors on copie la feuille dans le nouveau classeur[/COLOR]
[COLOR=Blue]If [/COLOR]InStr(shtBAR.Name, errorCode) > 0 [COLOR=Blue]Then [/COLOR]shtBAR.Copy after:=newWbk.Sheets(newWbk.Sheets.Count)
[COLOR=Blue]Next [/COLOR]shtBAR
[COLOR=SeaGreen] 'sauvegarder et fermer le classeur spécifique à cette erreur[/COLOR]
newWbk.SaveAs extractFolderPath & "\ANOMALIES_" & errorCode
newWbk.Close
[COLOR=Blue]Next [/COLOR]shtRC
[COLOR=SeaGreen]'fermer les classeurs[/COLOR]
wbkRC.Close: [COLOR=Blue]Set [/COLOR]wbkRC = Nothing
wbkBAR.Close: [COLOR=Blue]Set [/COLOR]wbkBAR = Nothing
Set newWbk = Nothing
Application.DisplayAlerts = [COLOR=Blue]True[/COLOR]
[COLOR=Blue]End Sub[/COLOR]