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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 :
-- 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
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 :
--
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" <danielos@nopubclub-internetpasdepub.fr> a écrit dans le message de
news:49a10c9b$0$21741$7a628cd7@news.club-internet.fr...
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
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 :
-- 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
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
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" <danielos@nopubclub-internetpasdepub.fr> a écrit dans le message de
news:49a10c9b$0$21741$7a628cd7@news.club-internet.fr...
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
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