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

enregistrer feuilles ds classeurs individuels

Blafi

XLDnaute Occasionnel
Bonjour le forum...,

Voilà mon pb : j'ai un classeur qui contient des feuilles (janvier, février,mars par ex) et je voudrais enregistrer chacune de ces feuilles dans un classeur séparé portant le même nom que chaque feuille (janvier, février, mars etc..)ceci afin d'envoyer a des utilisateurs la seule feuille/classeur qui leur est destinée.

j'ai écrit une macro avec une boucle 'for each sh in sheets'... mais elle coince et se bloque suivant les cas sur le nom que je veux donner aautomatiquement au classeur ou sur la deuxième boucle...

Je joins mon classeur et ma macro...

J'aurais ensuite le pb inverse qui consiste a remettre dans un même classeur les classeur/feuilles renvoyés par les utilisateurs.

Merci d'avance à la bonne ame qui peut m'aider...
 

Blafi

XLDnaute Occasionnel
Je ne comprends pas pourquoi mais mon fichier refuse de se joindre.
J'essaye donc en reprenant ma macro :

Sub séparation()
'
' séparation Macro
' Macro enregistrée le 18/07/2005 par CB
'
Dim sh As Sheets
Dim lenom As String
Dim lenom2 As String

For Each sh In Sheets

Sheets(sh).Select
Sheets(sh).Copy
lenom = sh.Name
lenom2 = lenom & '.xls'

ChDir 'C:\\'
ActiveWorkbook.SaveAs Filename:= _
'C:\\lenom2', FileFormat:= _
xlNormal, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False _
, CreateBackup:=False

Next sh

End Sub

ça coince sur le sh.Name ou VBA semble ne pas comprendre.... comment faire ?
Merci beaucoup pour le coup de main.
 

Jeannot45

XLDnaute Occasionnel
Bonjour,

Je pense que cela vient de ta déclaration de variable.
tu devrais déclaré sh en tant que WorkSheet et non en Sheets (qui représente la collection des feuilles du classeur)

Bonne continuation

Jeannot
 
B

Blafi

Guest
Merci Jeannot45 pour ton conseil... je vais le faire,
de plus je me suis apercu que c'était mon nouveau classeur qui était actif, ce qui interdisait de prendre la sh suivante...
J'ai donc rajouté une ligne après l'enregistrement disant 'activeWorkbook.close' et ça marche ...
Reste maintenant le pb pour récuperer toutes les feuilles en retour et les réintégrer dans mon classeur de départ...
j'y travaille...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…