OVH Cloud OVH Cloud

Pb quand copie feuille par macro

14 réponses
Avatar
Christophe
Bonjour,


Je veux copier par macro des feuilles j'ai une feuille vierge (préparée pour
l'utilisation) et j'en fait copie à partir d'une liste de nom que je stocke
dans un onglet.

J'ai plus de 40 onglets à créer ou copier.

Le problème c'est que je n'arrive pas au terme de mes 40 onglets. Je ne peux
plus non plus faire des copies manuellement dans mon fichier. je peux
toujours en créer mais pas faire une copie.

Il y a une limitation au nombre de copies ? pour les onglets je crois que
c'est 255. Je ne comprends pas ce qui se passe pourriez-vous me donner un
tuyau ?



Christophe.

4 réponses

1 2
Avatar
MichDenis
Un nom d'une feuille ne peut pas avoir plus de 31 caractères
sinon, il y a plantage.
la répétition de "1" est un bug bien connu d'excel 97



"RV" a écrit dans le message de news:
Bonjour François,
En fait la feuille dans la fenêtre VBA prend la valeur suivante avec
Excel97(donc pour moi):

Feuil1(Feuil1(2))
Feuil11(Feuil1(3))
...
etc...
...
juqu'à...
...
Feuil1111111111111111111111111(Feuil1(26))

Là :
Erreur d'exécution 1004
La méthode Copy de de la classe Worksheet a échoué

@+ tard
RV


"Francois L" a écrit dans le message de news:

Bonjour MichDenis
Effectivement...
Le nom de la feuille dans la fenêtre VBA s'incrémente suivant ton code.
En revanche si tu l'écris comme ci dessous tu ne pourras avoir plus de 26
feuilles...

Sub test()
For a = 1 To 50
Worksheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
Next
End Sub



Bonjour,

Désolé mais chez moi ça fait 50 feuilles de plus !

--
François L



Avatar
RV
Avec mon code (Excel97) voici la propriété name de la dernière feuille:
Feuil11111111111111111111111111
Avec ton code j'arrive bien aux 50 feuilles avec une propriété name de la
dernière feuille: Feuil11
@+
RV



"MichDenis" a écrit dans le message de news:

Ouvre l'éditeur de code, et dis-mois ce qu'à l'air la propriété "Name"
de la dernière feuille créée.

Si la fenêtre des propriétés est fermé, tu l'ouvres
et copie ici même la propriété Name de la dernière feuille

En attendant, essaie cette macro

'------------------------------
Sub test1()
With ThisWorkbook
For a = 1 To 50
.Worksheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
.VBProject.VBComponents(.Worksheets(.Sheets.Count).CodeName).Name =
"toto" & a
Next
End With
End Sub
'------------------------------



"RV" a écrit dans le message de news:
%
C'est peut être de là que vient la différence:

Excel 1997 (pour moi).... & Windows Xp

RV





"MichDenis" a écrit dans le message de news:
ulw%
| En revanche si tu l'écris comme ci dessous tu ne pourras avoir plus de
26
| feuilles...

Je n'ai aucun problème pour en créer 50.

Excel 2003 & Windows Xp pro




"RV" a écrit dans le message de news:

Bonjour MichDenis
Effectivement...
Le nom de la feuille dans la fenêtre VBA s'incrémente suivant ton code.
En revanche si tu l'écris comme ci dessous tu ne pourras avoir plus de 26
feuilles...

Sub test()
For a = 1 To 50
Worksheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
Next
End Sub

Cordialement,
RV

"MichDenis" a écrit dans le message de news:

| Une seule et même feuille ne peut pas être copiée plus de 25 fois, au
delà
| il faut ajouter une nouvelle feuille que l'on peut à nouveau copier 25
fois

Cette procédure m'a permis de copier 50 fois la même feuille sans
problème

Sub test()
For a = 1 To 50
Worksheets("Feuil1").Copy after:=Sheets(Sheets.Count)
Next
End Sub




"RV" a écrit dans le message de news:

Bonjour,
Une seule et même feuille ne peut pas être copiée plus de 25 fois, au
delà
il faut ajouter une nouvelle feuille que l'on peut à nouveau copier 25
fois
et ce jusqu'à obtenir 255 feuilles dans un même classeur.
Cordialement,
RV


"Christophe" a écrit dans le message
de
news: 46601b30$0$5086$
Bonjour,


Je veux copier par macro des feuilles j'ai une feuille vierge (préparée
pour l'utilisation) et j'en fait copie à partir d'une liste de nom que
je
stocke dans un onglet.

J'ai plus de 40 onglets à créer ou copier.

Le problème c'est que je n'arrive pas au terme de mes 40 onglets. Je ne
peux plus non plus faire des copies manuellement dans mon fichier. je
peux
toujours en créer mais pas faire une copie.

Il y a une limitation au nombre de copies ? pour les onglets je crois
que
c'est 255. Je ne comprends pas ce qui se passe pourriez-vous me donner
un
tuyau ?



Christophe.


















Avatar
RV
Ben..., il ne me reste plus qu'à changer de version Excel...
Merci pour ces échanges.
@+ tard
RV

"MichDenis" a écrit dans le message de news:
OXhx$
Un nom d'une feuille ne peut pas avoir plus de 31 caractères
sinon, il y a plantage.
la répétition de "1" est un bug bien connu d'excel 97



"RV" a écrit dans le message de news:

Bonjour François,
En fait la feuille dans la fenêtre VBA prend la valeur suivante avec
Excel97(donc pour moi):

Feuil1(Feuil1(2))
Feuil11(Feuil1(3))
...
etc...
...
juqu'à...
...
Feuil1111111111111111111111111(Feuil1(26))

Là :
Erreur d'exécution 1004
La méthode Copy de de la classe Worksheet a échoué

@+ tard
RV


"Francois L" a écrit dans le message de
news:

Bonjour MichDenis
Effectivement...
Le nom de la feuille dans la fenêtre VBA s'incrémente suivant ton code.
En revanche si tu l'écris comme ci dessous tu ne pourras avoir plus de
26
feuilles...

Sub test()
For a = 1 To 50
Worksheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
Next
End Sub



Bonjour,

Désolé mais chez moi ça fait 50 feuilles de plus !

--
François L








Avatar
Christophe
Merci pour vos réponses.

La solution pour moi va consister à générer toutes feuilles dont j'ai besoin
et les renommer ensuite.


"RV" a écrit dans le message de news:

MichDenis
En fait, la copie d'une copie, d'une copie etc.... de la feuille originale
ne peut pas excéder 25 fois, ce qui donne 25+l'originale= 26 feuilles en
tous.
C'est ce que doit faire Christophe.
Ce que tu proposes en revanche, c'est la copie systématique de la feuille
originale, ce qui te permet d'aller au delà des 26 feuilles.
@+ tard
RV


"RV" a écrit dans le message de news:

Bonjour,
Une seule et même feuille ne peut pas être copiée plus de 25 fois, au
delà
il faut ajouter une nouvelle feuille que l'on peut à nouveau copier 25
fois
et ce jusqu'à obtenir 255 feuilles dans un même classeur.
Cordialement,
RV


"Christophe" a écrit dans le message de
news: 46601b30$0$5086$
Bonjour,


Je veux copier par macro des feuilles j'ai une feuille vierge (préparée
pour l'utilisation) et j'en fait copie à partir d'une liste de nom que
je stocke dans un onglet.

J'ai plus de 40 onglets à créer ou copier.

Le problème c'est que je n'arrive pas au terme de mes 40 onglets. Je ne
peux plus non plus faire des copies manuellement dans mon fichier. je
peux toujours en créer mais pas faire une copie.

Il y a une limitation au nombre de copies ? pour les onglets je crois
que c'est 255. Je ne comprends pas ce qui se passe pourriez-vous me
donner un tuyau ?



Christophe.












1 2