Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 
L

LUCIEN

Guest
Re dg62

Merci de ta reponse, mais je voulais savoir comment automatiser tout ca par une macro (je mettrai un bouton en bas de la feuille)

merci
 

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.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…