XL 2016 deplacer copier onglets vers nouveaux classeurs VBA

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
 

Philou0607

XLDnaute Nouveau
Voilà ce que cela donne sur une copie d'écran d'une feuille copiée
Capture d’écran 2023-03-08 153009.jpg


Merci pour ton aide
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
@Philou0607
Problème 1 :
Il suffit de protéger la feuille, de l'exporter, puis de la déprotéger. ( évidemment il faut changer le MDP )
VB:
ActiveSheet.Protect Password:="MonMotDePasse"
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=Nom
ActiveWorkbook.Close
ActiveSheet.Unprotect Password:="MonMotDePasse"
Problème 2:
J'ai testé, chez moi ça marche, donc difficile de trouver de où ça peut venir :
Source :
1678286027932.png

Destination :
1678286087230.png
 

Pièces jointes

  • Philou.xlsm
    24 KB · Affichages: 1

Philou0607

XLDnaute Nouveau
@sylvanu

Merci tout d'abord. Pour le problème 1, je travaille sur le classeur d'origine avant de le copier vers le nouveau classeur et les nouvelles feuilles copiées. J'adresse ensuite par mail les nouvelles feuilles à différents services de manière individuelle et je souhaite qu'ils ne puissent pas modifier la feuille individuelle que je leur ai adressée.

Pour le problème 2, je vais regarder dans le paramétrage de mon excel 2016 et peut être trouverai je une solution.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
je vais regarder dans le paramétrage de mon excel 2016 et peut être trouverai je une solution.
Par défaut, le paramétrage utilisé par XL est celui de Windows.

Définir un symbole monétaire par défaut dans Excel

Lorsque vous appliquez un format Monétaire ou Comptabilité, par défaut Excel applique le symbole monétaire que avez défini dans les paramètres de Windows.
 

Philou0607

XLDnaute Nouveau
Alors pourquoi ne pas leu envoyer le pdf correspondant ?
Car un mot de passe feuille XL se cracke en 30s si l'utilisateur y tient vraiment. ;)
Oui après tout tu as raison. Subsiste le problème de la mise en page pdf car mes feuilles excel ne changement pas de mise en page, alors que le pdf est mis d'office en format portrait A4... ça peut se régulariser avant l'envoi pdf ? merci
 

Philou0607

XLDnaute Nouveau

Pièces jointes

  • Capture d’écran 2023-03-08 170426.jpg
    Capture d’écran 2023-03-08 170426.jpg
    96.4 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oui après tout tu as raison. Subsiste le problème de la mise en page pdf car mes feuilles excel ne changement pas de mise en page, alors que le pdf est mis d'office en format portrait A4...
Pourquoi ne pas mettre votre fichier en mode Paysage ? Il y aurait une raison que cela pose problème ?
Car dans ce cas les pdf sont en mode Paysage aussi.
C'est bizarre, car mon format monétaire sous windows10 est correct.
Alors je suis sec. :oops:
 

Discussions similaires

Statistiques des forums

Discussions
312 214
Messages
2 086 311
Membres
103 175
dernier inscrit
abcc