Bonjour à tous,
J'ai ce bout de code :
....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
....
Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant :
La méthode Copy de la classe Worksheet à échoué
Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.)
Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de
reprendre la procédure : même pb.
Sous "Excel" je n'arrive pas non plus à ajouter une feuille.
Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des
feuilles...
Si qq1 connait le pb, merci d'avance,
ejc
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
Patrick BASTARD
Bonsoir, "ejc"
Et en calcul manuel ? (Calcul manuel en début de code, auto en fin de code).
-- Bien ,
Patrick BASTARD patrick.bastardchezdbmail.com> ....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
Bonsoir, "ejc"
Et en calcul manuel ?
(Calcul manuel en début de code, auto en fin de code).
--
Bien amicordi@lement,
Patrick BASTARD
patrick.bastardchezdbmail.com>
....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
....
Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant :
La méthode Copy de la classe Worksheet à échoué
Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.)
Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de
reprendre la procédure : même pb.
Sous "Excel" je n'arrive pas non plus à ajouter une feuille.
Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des
feuilles...
Si qq1 connait le pb, merci d'avance,
ejc
Et en calcul manuel ? (Calcul manuel en début de code, auto en fin de code).
-- Bien ,
Patrick BASTARD patrick.bastardchezdbmail.com> ....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
MichDenis
Bonjour Ejc,
Si tu exécutes ces lignes de code 53 fois dans un classeur vierge, as-tu le même problème ?
Est-ce que ce problème est présent seulement dans ce classeur ?
Après l'avoir épuré des informations sensibles, tu peux le publier à ces adresses : Cjoint.com ou Cijoint.fr.
"ejc" <~ a écrit dans le message de groupe de discussion :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
Bonjour Ejc,
Si tu exécutes ces lignes de code 53 fois dans
un classeur vierge, as-tu le même problème ?
Est-ce que ce problème est présent seulement dans ce classeur ?
Après l'avoir épuré des informations sensibles, tu peux le publier
à ces adresses : Cjoint.com ou Cijoint.fr.
"ejc" <~jpg@jpg.net> a écrit dans le message de groupe de discussion :
esC3qXX1JHA.3304@TK2MSFTNGP06.phx.gbl...
Bonjour à tous,
J'ai ce bout de code :
....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
....
Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant :
La méthode Copy de la classe Worksheet à échoué
Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.)
Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de
reprendre la procédure : même pb.
Sous "Excel" je n'arrive pas non plus à ajouter une feuille.
Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des
feuilles...
Si qq1 connait le pb, merci d'avance,
ejc
Si tu exécutes ces lignes de code 53 fois dans un classeur vierge, as-tu le même problème ?
Est-ce que ce problème est présent seulement dans ce classeur ?
Après l'avoir épuré des informations sensibles, tu peux le publier à ces adresses : Cjoint.com ou Cijoint.fr.
"ejc" <~ a écrit dans le message de groupe de discussion :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
isabelle
bonjour ejc,
après la ligne de code
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
ajoute celle-ci
Application.CutCopyMode = False
isabelle
ejc a écrit :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
bonjour ejc,
après la ligne de code
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
ajoute celle-ci
Application.CutCopyMode = False
isabelle
ejc a écrit :
Bonjour à tous,
J'ai ce bout de code :
....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
....
Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant :
La méthode Copy de la classe Worksheet à échoué
Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.)
Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de
reprendre la procédure : même pb.
Sous "Excel" je n'arrive pas non plus à ajouter une feuille.
Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des
feuilles...
Si qq1 connait le pb, merci d'avance,
ejc
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
ejc
Bonjour, J'ai refait des tests avec : Sub CréerFeuilles() Dim I As Byte For I = 1 To 53 'Ajouter une feuille "modèle" Sheets("Sem00").Select Sheets("Sem00").Copy After:=Sheets(Sheets.Count) Sheets("Sem00 (2)").Select Sheets("Sem00 (2)").Name = Trim(Str(I)) Next I End Sub dans un classeur "vierge" comme suggéré par MichDenis ; pas de pb. Pourtant, le classeur dans lequel j'exécute cette sub n'est pas "énorme" : 8 feuilles (5 Mo) avant création des dites feuilles. Une info cependant : la feuille "modèle" comporte des noms... J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos de cette "anomalie"... A Patrick : Que veux-tu dire par : Et en calcul manuel ? (Calcul manuel en début de code, auto en fin de code). ? Merci à vous, "MichDenis" a écrit dans le message de news:
Bonjour Ejc,
Si tu exécutes ces lignes de code 53 fois dans un classeur vierge, as-tu le même problème ?
Est-ce que ce problème est présent seulement dans ce classeur ?
Après l'avoir épuré des informations sensibles, tu peux le publier à ces adresses : Cjoint.com ou Cijoint.fr.
"ejc" <~ a écrit dans le message de groupe de discussion :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
Bonjour,
J'ai refait des tests avec :
Sub CréerFeuilles()
Dim I As Byte
For I = 1 To 53
'Ajouter une feuille "modèle"
Sheets("Sem00").Select
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
Sheets("Sem00 (2)").Select
Sheets("Sem00 (2)").Name = Trim(Str(I))
Next I
End Sub
dans un classeur "vierge" comme suggéré par MichDenis ; pas de pb.
Pourtant, le classeur dans lequel j'exécute cette sub n'est pas "énorme" : 8
feuilles (5 Mo) avant création des dites feuilles.
Une info cependant : la feuille "modèle" comporte des noms...
J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos
de cette "anomalie"...
A Patrick :
Que veux-tu dire par :
Et en calcul manuel ?
(Calcul manuel en début de code, auto en fin de code). ?
Merci à vous,
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
OvRtA0X1JHA.1864@TK2MSFTNGP02.phx.gbl...
Bonjour Ejc,
Si tu exécutes ces lignes de code 53 fois dans
un classeur vierge, as-tu le même problème ?
Est-ce que ce problème est présent seulement dans ce classeur ?
Après l'avoir épuré des informations sensibles, tu peux le publier
à ces adresses : Cjoint.com ou Cijoint.fr.
"ejc" <~jpg@jpg.net> a écrit dans le message de groupe de discussion :
esC3qXX1JHA.3304@TK2MSFTNGP06.phx.gbl...
Bonjour à tous,
J'ai ce bout de code :
....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
....
Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant :
La méthode Copy de la classe Worksheet à échoué
Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.)
Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de
reprendre la procédure : même pb.
Sous "Excel" je n'arrive pas non plus à ajouter une feuille.
Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des
feuilles...
Si qq1 connait le pb, merci d'avance,
ejc
Bonjour, J'ai refait des tests avec : Sub CréerFeuilles() Dim I As Byte For I = 1 To 53 'Ajouter une feuille "modèle" Sheets("Sem00").Select Sheets("Sem00").Copy After:=Sheets(Sheets.Count) Sheets("Sem00 (2)").Select Sheets("Sem00 (2)").Name = Trim(Str(I)) Next I End Sub dans un classeur "vierge" comme suggéré par MichDenis ; pas de pb. Pourtant, le classeur dans lequel j'exécute cette sub n'est pas "énorme" : 8 feuilles (5 Mo) avant création des dites feuilles. Une info cependant : la feuille "modèle" comporte des noms... J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos de cette "anomalie"... A Patrick : Que veux-tu dire par : Et en calcul manuel ? (Calcul manuel en début de code, auto en fin de code). ? Merci à vous, "MichDenis" a écrit dans le message de news:
Bonjour Ejc,
Si tu exécutes ces lignes de code 53 fois dans un classeur vierge, as-tu le même problème ?
Est-ce que ce problème est présent seulement dans ce classeur ?
Après l'avoir épuré des informations sensibles, tu peux le publier à ces adresses : Cjoint.com ou Cijoint.fr.
"ejc" <~ a écrit dans le message de groupe de discussion :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
isabelle
bonjour ejc,
ejc a écrit :
A Patrick : Que veux-tu dire par : Et en calcul manuel ?
cela veut dire d'ajouter ces lignes de code : au début de la macro :
Application.Calculation = xlManual
et en fin de la macro :
Application.Calculation = xlAutomatic
a+ isabelle
bonjour ejc,
ejc a écrit :
A Patrick :
Que veux-tu dire par :
Et en calcul manuel ?
cela veut dire d'ajouter ces lignes de code :
au début de la macro :
A Patrick : Que veux-tu dire par : Et en calcul manuel ?
cela veut dire d'ajouter ces lignes de code : au début de la macro :
Application.Calculation = xlManual
et en fin de la macro :
Application.Calculation = xlAutomatic
a+ isabelle
ejc
Bonjour, J'ai ajouté comme suggéré les codes nécessaires : Application.CutCopyMode = False et également Application.Calculation = xlManual et en fin de la macro : Application.Calculation = xlAutomatic Bilan : J'ai l'impression que je vais "un peu plus loin" (30 feuilles)...mais que le même message d'erreur apparaît... Je pense que la "limite" vient d'ailleurs (noms dans la feuille-16 en tout, formules, etc.) Ouàlà, ouàlà... Ceci dit, ce n'est pas catastrophique... mais bon...
Merci encore à vous...
"isabelle" a écrit dans le message de news:
bonjour ejc,
après la ligne de code
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
ajoute celle-ci
Application.CutCopyMode = False
isabelle
ejc a écrit :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
Bonjour,
J'ai ajouté comme suggéré les codes nécessaires :
Application.CutCopyMode = False
et également
Application.Calculation = xlManual
et en fin de la macro :
Application.Calculation = xlAutomatic
Bilan :
J'ai l'impression que je vais "un peu plus loin" (30 feuilles)...mais que le
même message d'erreur apparaît...
Je pense que la "limite" vient d'ailleurs (noms dans la feuille-16 en tout,
formules, etc.)
Ouàlà, ouàlà...
Ceci dit, ce n'est pas catastrophique... mais bon...
Merci encore à vous...
"isabelle" <i@v> a écrit dans le message de news:
eDHCeud1JHA.1432@TK2MSFTNGP02.phx.gbl...
bonjour ejc,
après la ligne de code
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
ajoute celle-ci
Application.CutCopyMode = False
isabelle
ejc a écrit :
Bonjour à tous,
J'ai ce bout de code :
....
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
....
Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant :
La méthode Copy de la classe Worksheet à échoué
Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.)
Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et
de reprendre la procédure : même pb.
Sous "Excel" je n'arrive pas non plus à ajouter une feuille.
Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des
feuilles...
Si qq1 connait le pb, merci d'avance,
ejc
Bonjour, J'ai ajouté comme suggéré les codes nécessaires : Application.CutCopyMode = False et également Application.Calculation = xlManual et en fin de la macro : Application.Calculation = xlAutomatic Bilan : J'ai l'impression que je vais "un peu plus loin" (30 feuilles)...mais que le même message d'erreur apparaît... Je pense que la "limite" vient d'ailleurs (noms dans la feuille-16 en tout, formules, etc.) Ouàlà, ouàlà... Ceci dit, ce n'est pas catastrophique... mais bon...
Merci encore à vous...
"isabelle" a écrit dans le message de news:
bonjour ejc,
après la ligne de code
Sheets("Sem00").Copy After:=Sheets(Sheets.Count)
ajoute celle-ci
Application.CutCopyMode = False
isabelle
ejc a écrit :
Bonjour à tous, J'ai ce bout de code : .... Sheets("Sem00").Copy After:=Sheets(Sheets.Count) .... Normalement, je dois ainsi ajouter 53 feuilles (semaines de planning).
J'ai le message suivant : La méthode Copy de la classe Worksheet à échoué Mais pas obligatoirement après le même nombre de feuilles (15, 26, etc.) Problème de rafraichissement ? J'ai essayé d'enregistrer le classeur et de reprendre la procédure : même pb. Sous "Excel" je n'arrive pas non plus à ajouter une feuille. Je ferme le classeur, j'ouvre de nouveau et là je peux ajouter des feuilles... Si qq1 connait le pb, merci d'avance, ejc
MichDenis
| Une info cependant : la feuille "modèle" comporte des noms... | J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos | de cette "anomalie"...
Ce n'est pas une anomalie... Si les "Noms" définis le sont au niveau du classeur, si l'on duplique cette feuille, Excel ne peut pas tolérer que plusieurs "Noms" définis au niveau du classeur portent le même nom. Comment ferait-il pour s'y retrouver ? En conséquence, il transforme tous les noms définis au niveau du classeur en "Nom" défini au niveau de la feuille. Dans la pratique, dans ton fichier, ceci signifie qu'un nom "Toto" défini au niveau du classeur deviendra dans les copies de la feuille d'origine : '1'!toto , '2'!toto '3'!toto '4'!toto .... Ce sont ces noms qu'il faudra utiliser dans les formules pour faire référence à leur valeur locale (située dans la feuille). Ceci étant dit, cela ne devait pas être un empêchement de reproduire une feuille de calcul.
Pour la macro, j'utiliserais plutôt ceci pour créer les copies de la feuille module '------------------------------------------- Sub CréerFeuilles() Dim I As Byte, Sh As Worksheet Dim Nom As String Nom = ActiveSheet.Name Application.ScreenUpdating = False Set Sh = Sheets("Sem00") For I = 1 To 53 Sh.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = I Next I Sheets(Nom).Select Application.ScreenUpdating = True End Sub '-------------------------------------------
| Une info cependant : la feuille "modèle" comporte des noms...
| J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos
| de cette "anomalie"...
Ce n'est pas une anomalie...
Si les "Noms" définis le sont au niveau du classeur, si l'on duplique cette feuille, Excel
ne peut pas tolérer que plusieurs "Noms" définis au niveau du classeur portent le même
nom. Comment ferait-il pour s'y retrouver ? En conséquence, il transforme tous les noms
définis au niveau du classeur en "Nom" défini au niveau de la feuille. Dans la pratique,
dans ton fichier, ceci signifie qu'un nom "Toto" défini au niveau du classeur deviendra
dans les copies de la feuille d'origine : '1'!toto , '2'!toto '3'!toto '4'!toto ....
Ce sont ces noms qu'il faudra utiliser dans les formules pour faire référence à leur
valeur locale (située dans la feuille).
Ceci étant dit, cela ne devait pas être un empêchement de reproduire une feuille de
calcul.
Pour la macro, j'utiliserais plutôt ceci pour créer les copies de la feuille module
'-------------------------------------------
Sub CréerFeuilles()
Dim I As Byte, Sh As Worksheet
Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
Set Sh = Sheets("Sem00")
For I = 1 To 53
Sh.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = I
Next I
Sheets(Nom).Select
Application.ScreenUpdating = True
End Sub
'-------------------------------------------
| Une info cependant : la feuille "modèle" comporte des noms... | J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos | de cette "anomalie"...
Ce n'est pas une anomalie... Si les "Noms" définis le sont au niveau du classeur, si l'on duplique cette feuille, Excel ne peut pas tolérer que plusieurs "Noms" définis au niveau du classeur portent le même nom. Comment ferait-il pour s'y retrouver ? En conséquence, il transforme tous les noms définis au niveau du classeur en "Nom" défini au niveau de la feuille. Dans la pratique, dans ton fichier, ceci signifie qu'un nom "Toto" défini au niveau du classeur deviendra dans les copies de la feuille d'origine : '1'!toto , '2'!toto '3'!toto '4'!toto .... Ce sont ces noms qu'il faudra utiliser dans les formules pour faire référence à leur valeur locale (située dans la feuille). Ceci étant dit, cela ne devait pas être un empêchement de reproduire une feuille de calcul.
Pour la macro, j'utiliserais plutôt ceci pour créer les copies de la feuille module '------------------------------------------- Sub CréerFeuilles() Dim I As Byte, Sh As Worksheet Dim Nom As String Nom = ActiveSheet.Name Application.ScreenUpdating = False Set Sh = Sheets("Sem00") For I = 1 To 53 Sh.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = I Next I Sheets(Nom).Select Application.ScreenUpdating = True End Sub '-------------------------------------------
ejc
Re bonjour, J'ai essayé avec le code proposé (Set Sh = Sheets("Sem00"), etc. Même problème... Qqfois, il est même impossible d'ajouter une seule feuille (même sous Excel). Il faut fermer le classeur, l'ouvrir de nouveau et on peut "repartir"... Il y a certainement "une saturation" qqpart... où ? Le problème est de traiter cette erreur et d'expliquer à l'utilisateur de recommencer (à partir de la dernière feuille créée ; c'est pas bien difficile mais bon...) Quand je parlai d'anomalie, je parlai de ce problème de création de feuille (pas des noms...) Toujours merci à vous. ejc
"MichDenis" a écrit dans le message de news: %
| Une info cependant : la feuille "modèle" comporte des noms... | J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos | de cette "anomalie"...
Ce n'est pas une anomalie... Si les "Noms" définis le sont au niveau du classeur, si l'on duplique cette feuille, Excel ne peut pas tolérer que plusieurs "Noms" définis au niveau du classeur portent le même nom. Comment ferait-il pour s'y retrouver ? En conséquence, il transforme tous les noms définis au niveau du classeur en "Nom" défini au niveau de la feuille. Dans la pratique, dans ton fichier, ceci signifie qu'un nom "Toto" défini au niveau du classeur deviendra dans les copies de la feuille d'origine : '1'!toto , '2'!toto '3'!toto '4'!toto .... Ce sont ces noms qu'il faudra utiliser dans les formules pour faire référence à leur valeur locale (située dans la feuille). Ceci étant dit, cela ne devait pas être un empêchement de reproduire une feuille de calcul.
Pour la macro, j'utiliserais plutôt ceci pour créer les copies de la feuille module '------------------------------------------- Sub CréerFeuilles() Dim I As Byte, Sh As Worksheet Dim Nom As String Nom = ActiveSheet.Name Application.ScreenUpdating = False Set Sh = Sheets("Sem00") For I = 1 To 53 Sh.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = I Next I Sheets(Nom).Select Application.ScreenUpdating = True End Sub '-------------------------------------------
Re bonjour,
J'ai essayé avec le code proposé (Set Sh = Sheets("Sem00"), etc.
Même problème... Qqfois, il est même impossible d'ajouter une seule feuille
(même sous Excel).
Il faut fermer le classeur, l'ouvrir de nouveau et on peut "repartir"...
Il y a certainement "une saturation" qqpart... où ?
Le problème est de traiter cette erreur et d'expliquer à l'utilisateur de
recommencer (à partir de la dernière feuille créée ; c'est pas bien
difficile mais bon...)
Quand je parlai d'anomalie, je parlai de ce problème de création de feuille
(pas des noms...)
Toujours merci à vous.
ejc
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23oyOAQh1JHA.1372@TK2MSFTNGP05.phx.gbl...
| Une info cependant : la feuille "modèle" comporte des noms...
| J'ai regardé un peu partout sur le Web, il y a plusieurs messages à
propos
| de cette "anomalie"...
Ce n'est pas une anomalie...
Si les "Noms" définis le sont au niveau du classeur, si l'on duplique
cette feuille, Excel
ne peut pas tolérer que plusieurs "Noms" définis au niveau du classeur
portent le même
nom. Comment ferait-il pour s'y retrouver ? En conséquence, il transforme
tous les noms
définis au niveau du classeur en "Nom" défini au niveau de la feuille.
Dans la pratique,
dans ton fichier, ceci signifie qu'un nom "Toto" défini au niveau du
classeur deviendra
dans les copies de la feuille d'origine : '1'!toto , '2'!toto '3'!toto
'4'!toto ....
Ce sont ces noms qu'il faudra utiliser dans les formules pour faire
référence à leur
valeur locale (située dans la feuille).
Ceci étant dit, cela ne devait pas être un empêchement de reproduire une
feuille de
calcul.
Pour la macro, j'utiliserais plutôt ceci pour créer les copies de la
feuille module
'-------------------------------------------
Sub CréerFeuilles()
Dim I As Byte, Sh As Worksheet
Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
Set Sh = Sheets("Sem00")
For I = 1 To 53
Sh.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = I
Next I
Sheets(Nom).Select
Application.ScreenUpdating = True
End Sub
'-------------------------------------------
Re bonjour, J'ai essayé avec le code proposé (Set Sh = Sheets("Sem00"), etc. Même problème... Qqfois, il est même impossible d'ajouter une seule feuille (même sous Excel). Il faut fermer le classeur, l'ouvrir de nouveau et on peut "repartir"... Il y a certainement "une saturation" qqpart... où ? Le problème est de traiter cette erreur et d'expliquer à l'utilisateur de recommencer (à partir de la dernière feuille créée ; c'est pas bien difficile mais bon...) Quand je parlai d'anomalie, je parlai de ce problème de création de feuille (pas des noms...) Toujours merci à vous. ejc
"MichDenis" a écrit dans le message de news: %
| Une info cependant : la feuille "modèle" comporte des noms... | J'ai regardé un peu partout sur le Web, il y a plusieurs messages à propos | de cette "anomalie"...
Ce n'est pas une anomalie... Si les "Noms" définis le sont au niveau du classeur, si l'on duplique cette feuille, Excel ne peut pas tolérer que plusieurs "Noms" définis au niveau du classeur portent le même nom. Comment ferait-il pour s'y retrouver ? En conséquence, il transforme tous les noms définis au niveau du classeur en "Nom" défini au niveau de la feuille. Dans la pratique, dans ton fichier, ceci signifie qu'un nom "Toto" défini au niveau du classeur deviendra dans les copies de la feuille d'origine : '1'!toto , '2'!toto '3'!toto '4'!toto .... Ce sont ces noms qu'il faudra utiliser dans les formules pour faire référence à leur valeur locale (située dans la feuille). Ceci étant dit, cela ne devait pas être un empêchement de reproduire une feuille de calcul.
Pour la macro, j'utiliserais plutôt ceci pour créer les copies de la feuille module '------------------------------------------- Sub CréerFeuilles() Dim I As Byte, Sh As Worksheet Dim Nom As String Nom = ActiveSheet.Name Application.ScreenUpdating = False Set Sh = Sheets("Sem00") For I = 1 To 53 Sh.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = I Next I Sheets(Nom).Select Application.ScreenUpdating = True End Sub '-------------------------------------------