Bonjour à tous,
J'ai été plongée dans l'univers VBA depuis peu et j'ai besoin de votre aide pour effectuer une tâche qui a l'air simple à l'oral mais qui n'en est rien en langage VB...
Voilà, j'ai un fichier excel avec plusieurs onglets : un onglet de paramètres "Param", puis des onglets nommés "A", "B", "C", "D"... Dans l'onglet "Param", colonne C, j'ai une liste de mes noms d'onglets qui s'appelle "CDPF". Et dans la colonne D, en face de chaque nom d'onglet, il y a une catégorie qui lui correspond. Exemple : "A" et "C" --> "RH" et "B" et "D" --> Développement
Je souhaiterais une macro qui me permettrait de sauvegarder mes onglets dans des fichiers séparément par catégorie. En gros, récupérer un fichier nommé "RH" avec mes onglets "A" et "C" et un autre fichier "Développement" avec mes onglets "B" et "D".
J'ai commencé à écrire le code ci-dessous :
Option Explicit
Public Const paramTab As String = "ParamTab"
Sub saveOnglet()
Dim ws
Dim newWk As Workbook
Dim NomOnglet As String
NomOnglet = ActiveSheet.Name
If Sheets(paramTab).Range("CDPF").Cells.Activate = NomOnglet Then
For Each ws In Worksheets
Set newWk = Workbooks.Add(xlWBATWorksheet)
ws.Copy newWk.Sheets(1)
newWk.SaveAs (ws.Name & ".xlsx")
newWk.Close
Set newWk = Nothing
Next ws
Else
MsgBox "Ca va pas !"
End If
End Sub
Mais mon If n'a pas l'air de fonctionner. Et pour l'instant, mon For ne permet que de sauvegarder un fichier par onglet, y compris l'onglet "Param"...
Pourriez-vous m'aider SVP ?
Merci infiniment par avance.