Nommer feuille

Le
Daniel
Bonjour à toutes et à tous,

Voici ma situation. J'ai une quinzaine de fichiers qui n'ont qu'une
seule feuille nommée "onglet 1" (je récupère les fichiers tels quels).
Je souhaite les regrouper en 1 seul fichier et donner à chaque feuille
son nom de fichier initial.
Et là ça marche déjà pas.

Voici le code qui me renvoi une erreur 424 objet requis.

Sub NommerFeuille()

Dim strname As String 'déclaration de la variable
strname = Right(Filename.Name, 4) 'pour enlever .xls du nom
ActiveSheet.Name = strname 'renommination de la feuille avec la
variable

End Sub

Merci de votre aide.
Daniel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #18731501
Bonjour,
Pas sur que Filename soit adapté, au vu de l'aide :
"======================================================================"
FileName, propriété
Voir aussi S'applique à Exemple Spécificités
Cette propriété renvoie ou définit l'URL (intranet ou Web) ou le chemin
(local ou réseau) correspondant à l'emplacement où l'objet source spécifié a
été enregistré. Argument de type String en lecture-écriture.

Note
La propriété FileName génère une erreur si un dossier mentionné dans le
chemin d'accès n'existe pas.

Exemple
Cet exemple montre comment définir l'emplacement où le premier élément de la
feuille de calcul active doit être enregistré.

ActiveWorkbook.PublishObjects(1).FileName = _
"\Server2Q1StockReport.htm"
"========================================================================="
En outre Right(Filename.Name, 4) est censé récupérer précisément l'extension
".xls" ; pour récupérer le nom sans l'extension, tu devrais plutôt écrire
l'instruction ainsi, au moment où le classeur dont tu récupères la feuille
est actif :

strname = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Daniel" news:49a10c9b$0$21741$
Bonjour à toutes et à tous,

Voici ma situation. J'ai une quinzaine de fichiers qui n'ont qu'une seule
feuille nommée "onglet 1" (je récupère les fichiers tels quels).
Je souhaite les regrouper en 1 seul fichier et donner à chaque feuille son
nom de fichier initial.
Et là ... ça marche déjà pas.

Voici le code qui me renvoi une erreur 424 objet requis.

Sub NommerFeuille()

Dim strname As String 'déclaration de la variable
strname = Right(Filename.Name, 4) 'pour enlever .xls du nom
ActiveSheet.Name = strname 'renommination de la feuille avec la
variable

End Sub

Merci de votre aide.
Daniel


Hervé
Le #18731491
Bonjour Daniel,

Il te faut ouvrir tous les classeurs concernés et dans le classeur où tu
veux récupérer les feuilles tu exécute cette proc. Il n'y a pas de risque,
les feuilles sont seulement copiées :
Attention au retour à la ligne, il ce peut que la ligne"
Cls.Worksheets(1).Copy After:ÎCls.Worksheets(CeCls.Worksheets.Count)" soit
coupée en deux et il faut quelle soit sur une seule ligne.

Sub NommerFeuille()
Dim Cls As Workbook
Dim CeCls As Workbook

Set CeCls = ThisWorkbook

For Each Cls In Workbooks
'évite le classeur de récup
'(celui où se trouve cette proc)
If Cls.Name <> CeCls.Name Then
'renomme la feuille du nom du classeur
Cls.Worksheets(1).Name = Cls.Name
'copy la feuille dans ce classeur
'en la positionnant en dernier dans la liste
Cls.Worksheets(1).Copy
After:ÎCls.Worksheets(CeCls.Worksheets.Count)
End If
Next Cls

End Sub

Hervé.

"Daniel" news:49a10c9b$0$21741$
Bonjour à toutes et à tous,

Voici ma situation. J'ai une quinzaine de fichiers qui n'ont qu'une seule
feuille nommée "onglet 1" (je récupère les fichiers tels quels).
Je souhaite les regrouper en 1 seul fichier et donner à chaque feuille son
nom de fichier initial.
Et là ... ça marche déjà pas.

Voici le code qui me renvoi une erreur 424 objet requis.

Sub NommerFeuille()

Dim strname As String 'déclaration de la variable
strname = Right(Filename.Name, 4) 'pour enlever .xls du nom
ActiveSheet.Name = strname 'renommination de la feuille avec la
variable

End Sub

Merci de votre aide.
Daniel


Publicité
Poster une réponse
Anonyme