Philou0607
XLDnaute Nouveau
Bonjour,
J'ai un fichier excel récurrent (mensuel) qui contient environ 25 onglets. Chaque onglet contient des données confidentielles à un service que j'adresse mensuellement. J'avais récupéré un bout de code qui me sauvegarde le fichier cible avec NouveauNom.xlsx".
Comment améliorer ce code pour qu'un nouveau classeur soit créé pour chaque onglet du fichier source et qu'il soit sauvegardé en pdf avec comme nom de classeur le nom de l'onglet source correpondant.
Je ne sais pas si je suis très clair, enfin je l'espère.
Ci-dessous, le code que j'ai récupéré en fouinant sur le net.
Merci pour votre aide.
Sub copieonglet()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ThisWorkbook.Sheets(Array("DT CENTRE", "DT 5-6", "DT 7-8", "DT 9-10")).Copy
with activeworkbook
For Each Sh In .Worksheets
sh.usedrange.value = sh.usedrange.value
Next Sh
.saveas "NouveauNom.xlsx", 51
.close true
end with
Application.DisplayAlerts = True
Application.ScreenUpdating = true
End Sub
J'ai un fichier excel récurrent (mensuel) qui contient environ 25 onglets. Chaque onglet contient des données confidentielles à un service que j'adresse mensuellement. J'avais récupéré un bout de code qui me sauvegarde le fichier cible avec NouveauNom.xlsx".
Comment améliorer ce code pour qu'un nouveau classeur soit créé pour chaque onglet du fichier source et qu'il soit sauvegardé en pdf avec comme nom de classeur le nom de l'onglet source correpondant.
Je ne sais pas si je suis très clair, enfin je l'espère.
Ci-dessous, le code que j'ai récupéré en fouinant sur le net.
Merci pour votre aide.
Sub copieonglet()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ThisWorkbook.Sheets(Array("DT CENTRE", "DT 5-6", "DT 7-8", "DT 9-10")).Copy
with activeworkbook
For Each Sh In .Worksheets
sh.usedrange.value = sh.usedrange.value
Next Sh
.saveas "NouveauNom.xlsx", 51
.close true
end with
Application.DisplayAlerts = True
Application.ScreenUpdating = true
End Sub