À ce jour j'ai une extraction de données composée d'une multitude d'onglets dans un classeur unique. Je coupe et colle chaque mois les onglets vers des nouveaux classeurs pour que chaque fichier excel n'ait qu'un seul onglet. Existe-t-il un moyen d'avoir une commande pour séparer tous les onglets vers de nouveaux classeurs respectifs ? 1 feuille -> 1 classeur et donc 1 fichier différent à chaque fois.
Merci à tous, il y aurait un sacré gain de temps mensuel si c'était faisable !
Code à mettre dans le classeur de macros personnelles (par exemple)
Sub SéparerFeuille()
Dim sPath As String
Dim Sht As Worksheet
' Chemin du classeur actuel
sPath = ActiveWorkbook.Path & "\"
' Pour chque feuille
For Each Sht In ActiveWorkbook.Sheets
' Vérifier si ce n'est pas la dernière feuille
If ActiveWorkbook.Sheets.Count > 1 Then
' La déplacer dans un nouveau classeur
Sht.Move
End If
' Sauvegarder le classeur actif
With ActiveWorkbook
.SaveAs sPath & Sht.Name
.Close SaveChanges:=False
End With
Next Sht
End Sub
Désolé j'ai une erreur debogage et ça n'envoie que la 1ère feuille vers un nouveau classeur. J'ai copié collé votre texte tel quel. Je devais peut-être faire des manips supplémentaires ? Les messages en vert sont des choses que je dois personnaliser ?