enregistrement d'une seulle feuille d'un classeur

mel56

Nouveau membre
Bonjour,
Savez-vous s'il est possible (via une macro ou non) d'enregistrer une seule feuille excel d'un classeur sous excel 2002 ?
Merci pour la réponse
 

zeb

Modérateur
Oui, je sais comment faire avec une macro :o
C'est un peu court comme réponse, non ?
Bon ok : RTFM au chapitre SaveAs.
 

mel56

Nouveau membre
Heu... et vous pouvez me dire comment faire ?
Pour l'instant, je n'ai réussi qu'à faire ça

Sub enregistrement()
Worksheets("feuille à sauver").SaveAs Filename:="test.xls", _
FileFormat:=xlExcel4
End Sub

Mais le problème c'est que le format excel 4.0 perd des infos...
Merci pour votre aide
 

zeb

Modérateur
[strike]1°) Va lire les règles et corrige ton post en conséquence.[/strike]
2°) Relis l'aide sur la méthode SaveAs, je doute qu'il n'y ai que le format xlExcel4 de disponible.
 

mel56

Nouveau membre
1°)Ok je le refais
Code:
Sub enregistrement() 
Worksheets("feuille à sauver" ).SaveAs Filename:="test.xls",      FileFormat:=xlExcel4 
End Sub

2°)Il ya effectivement tout un tas de formats dispos.... Reste à savoir lequel utiliser pour qu'il ne m'enregistre qu'une seule feuille et sans perdre d'infos. Si je ne précise pas de format il m'enregistre sous "test.xls" le classseur entier.
 

mel56

Nouveau membre
bon ben... c'est pas encore ça. Pourtant la distinction "Workbook" et "Worksheet" semblait bien etre appropriée à mon problème...
Si quelqu'un a une idée...
 

zeb

Modérateur
Il y a deux méthodes différentes, WorkBook.SaveAs et WorkSheet.SaveAs. La première enregistre tout le classeur (WorkBook = Classeur), la seconde aussi (WorkSheet = Feuille). :pfff:
Donc il va falloir ruser... (Je suis en train de regarder, quelle merde....!)
 

mel56

Nouveau membre
Bon, pour ceux que ça pourrait interresser j'ai fait un truc qui marche :
ça crée un nouveau fichier excel (en demandant le nom à l'utilisateur et ça copie la feuille que je veux dans ce nouveau classeur. En code (pas très optimisé j'en suis sure...) ça donne ça :

Code:
Sub enregistrement()
bdx = ActiveWorkbook.Name
Set NewBook = Workbooks.Add
Do
fName = Application.GetSaveAsFilename
Loop Until fName <> False
NewBook.SaveAs Filename:=fName
sauvebdx = ActiveWorkbook.Name
Workbooks(bdx).Activate
Sheets("sauvegarde").Select
Sheets("sauvegarde").Copy before:=Workbooks(sauvebdx).Sheets(1)
End Sub

Salut !
 

zeb

Modérateur
Pas mal. J'étais parti pour faire autrement : copier tout le classeur et supprimer les feuilles inutiles. Trop de messages intempestifs. Ta soluce est bien mieux à plusieurs égards. Le premier : c'est toi qui l'a trouvée !
 
G

Guest

Invité


Bonjour !

Je souhaiterai éxécuter a peu prés la même macro que Mel56 pour enregistrer des feuilles dans un autre classeur, mais lorsque j'utilise celle la et que je rentre le nouveau nom du classeur lorsqu'il s'ouvre, j'appuis suis enregistrer et un message d'erreur apparait " Erreur d'éxécution, l'indice n'appartient pas à la selection ".
Comment puis - je régler ce problème ?

Merci d'avance !
Justine
 

zeb

Modérateur
Salut Justine (ou faut-il dire JBeaunez ?)

Quand tu es victime d'un méchant message d'erreur, il est nécessaire de dire à quelle ligne celui-ci surgit !
Et si le code n'est pas connu dans le sujet, il faut nous le proposer.

En considérant le code proposé par mel56, je suppose que ton problème se situe à la ligne 10.
En effet, là y est donné "en dur" le nom de la feuille à enregistrer, qui n'est peut-être pas le même chez toi.

(Contrairement à ce que je laissais entendre il y a 5 ans, le code proposé par mel56 est assez moche.)
 
G

Guest

Invité
Ah très bien, je n'avais même pas regardé la date ! ^^

Ce code est beaucoup trop compliqué pour moi en effet, sachant que ce que je veux faire ne l'est pas tant que ça, je pense qu'il a des solutions plus simples ( enfin, du moins, je l’espère ).

Je voudrais simplement copier une feuille de mon classeur ( qui est la feuille 5 ) automatiquement sur un autre classeur, donc ca pour l'instant j'y suis a peu prés arriver mais c'est le reste que me bloque. En fait je voudrais ne coller qu'un tableau qui est présent sur cette feuille et la feuille entière...
POur copier la feuille entière j'ai fais une macro avec le fonctionnement simple click droit sur l'onglet , creer une copier dans un nouveau classeur mais pour ne coper que le tableau, alors là...
C'EST LE DRAME !

^^

 

zeb

Modérateur
Ohlala !

Refais un nouveau sujet, rien qu'à toi.
Tu y détailleras ton problème sans essayer de coller avec un autre sujet.

Et je suis sûr que ça va s'arranger
;)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 124
Messages
6 717 732
Membres
1 586 356
Dernier membre
TommyStam
Partager cette page
Haut