sauvegarde dans classeur

  • Initiateur de la discussion Alex
  • Date de début
A

Alex

Guest
Bonjour ,

Comment faire pour sauvegarder certaine feuilles de mon classeur dans un autre classeur nommer x?
Merci d'avance
 
@

@+Thierry

Guest
=> DEMO Userform Multi-Sheets-Select(Array) pour Copies vers Classeur Existant

Bonsoir Alex, le Forum

Ta question est interressante, mais je n'ai pas eu de temps dispo cet aprèm, je ne m'y suis mis que maintenant.

Mais il est vrai ausssi que pour ce que tu demandes on puisse assez rapidement le faire manuellement, il faut quand même :

1) Ouvrir les deux classeurs (Source et Cible)
2) Dans le classeur Source sélectionner les Onglets des feuilles à Ccpier
3) Faire un Right-Click et choisir "Copier ou Déplacer..."
4) Cocher "Créer une Copie" dans la fenêtre suivante
5) Basculer sur le bon classeur toujours dans la même fenêtre
6) Faire OK.

Mais par UserForm ce peut être plus rapide encore !! Donc je me suis dit, je vais faire une démo car surtout il est vrai qu'on peut vite partir en galère lorsque qu'on manipule des "Sheets" en "Array"... Surtout bien évidemment si les "Sheets" à mettre dans l'"Array" sont variables...

Donc voici une démo qui va faire apparaître :
Un UserForm qui va lister dans une ListBox avec Propriété MultiSelect toutes les feuilles...

Celui-ci permettra :
De faire sa sélection de feuilles à copier, et en ayant la possiblité de choisir :
=> Copie des feuilles sélectionnées vers un Nouveau Classeur.
=> Copie des feuilles sélectionnées vers Classeur Existant.

Cette dernière option va permettre de faire "deux/trois petites choses" :
=> Proposer une boite de dialogue "GetOpenFileName" pour sélectionner un classeur existant.
=> Vérifier si les feuilles existent déjà dans ce classeur sélectionné, auquel cas elles seront supprimées.
=> Intégrer en fin de d'index des feuilles existantes dans ce classeurs les nouvelles à importer
=> Proposer en fin de traitement de sauver et fermer directement le classeur ayant reçu l'import de feuilles...

Je pense que cette démo sera très partique pour ceux et celles qui ont à manipuler des copie de feuilles en masse...

Ta question était courte, Alex, mais "maous costo" lol !!!

Bonne Fin de Journée
@+Thierry
 

Pièces jointes

  • USF-Copy-Sheets-Array-To-Another-WorkBooks.zip
    17.6 KB · Affichages: 191
A

Alex

Guest
Salut thierry,

je suis tombé sur un petit problème dans ta superbe application!!
en fait le probléme vient lorsque je veux faire une sauvegarde dans un fichier existant :
l'erreur se produit sur :

For i = 0 To UBound(MyArray)
WB1.Worksheets(MyArray(i)).Copy After:=WB2.Worksheets(WB2.Worksheets.Count)
Next

personellement je ne comprend pas trop cette ligne donc je ne vois pas de solution immédiate

Merci d'avance
 
@

@+Thierry

Guest
Bonsoir Alex, le Forum

Excuse des délais de réponses, je n'ai pas accès aux emails, et je n'avais pas vu ton problème.

Pourrais-tu donner le numéro de l'erreur et le contexte ? (combien de feuilles sélectionnées, est-ce toujours dans la démo, ou dans une version que tu as essayé d'adapter ?)

Ainsi que la Version d'Excel Utilisée !

Car je viens de tester sucessfully sur une autre machine sous Win XP Pro / Excel 2002 (celle qui m'a servi au développement sous Win 2000 / Excel 2000).

Sans ceci je ne vois pas.

Merci et bonne soirée
@+Thierry
 
@

@+Thierry

Guest
SVP Recherche Testeurs / Testeuses !!!

Bonjour le Forum

Je pense que le titre est Option Explicit !

Merci d'avance pour le temps que vous voudrez bien accorder à cette demande !

Bonne Soirée
@+Thierry (qui file du bureau là !!!)
 
L

LaurentTBT

Guest
Bonsoir,

De mon côté, aucun problème (Excel XP 2002 - Win XP Home)
j'ai copié une feuille dans un fichier déjà existant, j'ai enregistré ce fichier à l'aide du bouton "save" de l'usf, et aucune erreur.

Bonne soirée.
 
C

Celeda

Guest
Bonjour,


hé hé hé pour une souris comme moi c'est l'idéal cette petite macro!!!!
et c'est muchas gracias !!!


et si on l'a placée en xla et dans MesMacros avec un tite bouton,
serait-ce faisable et efficace

what do you think senior aplusseThierry?

WinXP familial XP anglais

Merci

Celeda
 
A

Alex

Guest
Salut a tous !!

C'était une petite erreur de manipulation le pb j'ai repris l'original de thierry et la ca fonctionne sans pb !! c'est trop fort

J'aurais voulu savoir s'il été possible de faire une demande de nom quand on enrengistre dans un nouveau classeur j'ai tenté mais sans réussite

Merci d'avance

Thierry encore félicitation !!
 
@

@+Thierry

Guest
Bonjour Pat, Laurent, Alex and Celeda, et le Forum

Merci d'avoir testé !!

Et bien pour Celeda, on peut transformer ce petit truc en XLA, il suffit de changer "For Each WS In ThisWorkbook.Worksheets" dans l'Initialize du UserForm, par "For Each WS In Worksheets" ou encore par "For Each WS In ActiveWorkbook.Worksheets". et "Set WB1 = ThisWorkbook" dans CommandButton1_Click par Set WB1 = ActiveWorkbook.

Pour Alex, tu mets ceci dans le IF du CommandButton1_Click
If Me.OptionButton1 = True Then
WB1.Worksheets(MyArray).Copy
Xfile = Application.GetSaveAsFilename(fileFilter:="Excel Files(*.xls),*.xls")
If Xfile = False Then Exit Sub
ActiveWorkbook.SaveAs Xfile
Else
'le reste de la macro

Bonne journée et merci encore à tous et toutes !!!
@+Thierry
 
C

Celeda

Guest
Bonjour,


Merci Thierry je vais le faire,



Alex : euh euh ton idole, c'est l'Idole d'XLD !!!!!!

on lui a fait un musée, maintenant on va pas lui faire une statue,

moi je le préfère en chair et en os!!!



Celeda

PS Thierry: attention à tes chevilles surtout enlève les chaussures !!!
 
S

Sylvain

Guest
bonjour à tous,

Je trouve l'application de thierry vraiment géniale et intéressante pour faire des mises à jour ou autres... Néanmoins je me posais une petite question : serait-il possible de copier les feuilles que l'on a choisi dans plusieurs classeurs situés dans un même répertoire ?

Merci bien

Sylvain
 

Discussions similaires

Statistiques des forums

Discussions
314 210
Messages
2 107 301
Membres
109 798
dernier inscrit
NAJI2005