enregistrement 1 seule feuille

  • Initiateur de la discussion LUCIEN
  • Date de début
L

LUCIEN

Guest
Coucou le forum et ses adeptes !!!

La question a du deja etre posée plus d'une fois mais je ne trouve pas mon bonheur dans les precedents fils...

J'ai un classeur excel avec 8 feuilles.

Le tout fait environ 500Ko (ce qui je l'admet est assez enorme...)

Y a til un moyen en fin de journée de n'enregistrer que les feuilles 2 et 8 sous forme d'un nouveau calsseur ???

Et est-il possibles d'enregistrer ces 2 feuilles sans les macros qui leur sont associées (boutons de lancement UF, etc...)

Merci de vos reponses...
 

dg62

XLDnaute Barbatruc
Bonjour Lucien, le Forum


Tu peux sauvegarder une feuille ou plusieurs dans un nouveau classeur sans problème.


Tu selectionnes ta feuille, clic droit sur l'onglet
copier déplacer
dans un nouveau classeur en cochant créer une copie.

il faut bien sur enregistrer par la suite le nouveau classeur.


Bonne Journée.
 

dg62

XLDnaute Barbatruc
Re


Voilà ce que j'avais lu trop vite :

Et est-il possibles d'enregistrer ces 2 feuilles sans les macros

En VBA c'est possible.

Si la sauvegarde est constante, feuille 1 et feuille 8 tu peux utiliser l'enregistreur de macro et ensuite associer la macro générée à un bouton ou la lancer manuellement selon les besoins.

Si les feuilles à sauvegarder sont variables, il faut modifier la macro afin d'integrer les noms des feuilles à sauvegarder. Soit par inputBox soit par cellules de référence.


un petit exemple à suivre en fonction de ta réponse.
 

Rai

XLDnaute Junior
Salut,

1 solution souple (parmi d'autres) : sélectionner les feuilles à sauvegarder et utiliser la propriété .selectedsheets.

2 versions possibles :
- tu sélectionnes les feuilles 'à la main'
- tu les sélectionne par macro

un début de solution (sélection 'à la main')

Sub sauve()

Set org = ActiveWorkbook
Application.Workbooks.Add (xlWBATWorksheet)
Set dest = ActiveWorkbook

org.Windows(1).SelectedSheets.Copy before:=dest.Sheets(1)

Application.DisplayAlerts = False
dest.Sheets(dest.Sheets.Count).Delete
Application.DisplayAlerts = True

dest.SaveAs 'MonClasseur.xls'
End Sub

Bonne continuation.
 

Rai

XLDnaute Junior
re-salut,

1 précision, pour copier un ensemble de feuilles, sans les sélectionner, tu peux aussi utiliser Array
Sheets(Array(1, 3)) désigne les feuilles 1 et 3

d'où
org.Sheets(Array(1, 3)).Copy before:=dest.Sheets(1)

en remplacement de :
org.Windows(1).SelectedSheets.Copy before:=dest.Sheets(1)

dans la macro précédente pour désigner toujours les mêmes feuilles.

Bonne fin de semaine.
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
315 087
Messages
2 116 082
Membres
112 653
dernier inscrit
flapynot7x