Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nommer feuille

2 réponses
Avatar
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

2 réponses

Avatar
Philippe.R
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" a écrit dans le message de
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


Avatar
Hervé
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" a écrit dans le message de
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