DUPLICATION DE FEUILLES LIMITEES

  • Initiateur de la discussion Initiateur de la discussion patrick
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

patrick

Guest
Bonjour à tous !!

Je vous explique mon problème :

j'ai une feuille dans mon classeur qui est deja mise en forme et prete à etre remplie, et j'ai besoin de la dupliquer dans le meme classeur, le nombre de copie étant variable (de 300 à 400 feuilles).

Le probleme c'est que quand je lance ma macro la feuille est dupliquée 180 fois puis j'ai ce message d'erreur :
Erreur d'execution '1004': La methode copy de la classe worksheet à echoué


ca fait 2 jours que je cherche dans les tutos et que j'essai de resoudre ce probleme, mais rien à faire

Pourtant quand je lance ma macro dans un classeur vide ca marche impec' alor jme demande si ce n'est pas du à la taille de la feuille???

voila mon bout de code :

Sub duplic()

Dim i As Integer
i = 1

Do While i < 350

Sheets('Feuil1').Select
Sheets('Feuil1').Copy Before:=Sheets(2)
ActiveSheet.Name = i
i = i + 1
Loop

End Sub


Merci pour votre aide
 
Bonjour Patrick,

Essayes ce code :

Sub duplic()
Dim i As Integer

For i = 2 To 350
Sheets('Feuil1').Copy after:=Sheets(Worksheets.Count)
ActiveSheet.Name = i
Next i
End Sub

Il est supposé que le classeur ne contient que la feuille 'feuil1'.

Cordialement

Bernard
 
Bonjour

En remplaçant Integer par Long
avec une une feuille contenant 1000 lignes de données brutes
(3 caractères par cellules)
Cela fonctionne chez moi

Sub Cop()
Dim i As Long
i = 1
Do While i < 350
Application.ScreenUpdating = False
Sheets('Feuil1').Copy Before:=Sheets(2)
ActiveSheet.Name = i
i = i + 1
Loop

End Sub
 
Bonjour again

Peut-être en scindant les choses...
(chez moi ca marche:
XL2K, XPHome SP2, 256 Mo, Athlon 1,92)

Sub DUPLIK_SH()

Dim i, j, k As Long
i = 1
Do While i < 75
Application.ScreenUpdating = False
Sheets('Feuil1').Copy Before:=Sheets(2)
ActiveSheet.Name = i
i = i + 1
Loop

j = 75
Do While j < 150
Sheets('74').Copy Before:=Sheets(2)
ActiveSheet.Name = j
j = j + 1
Loop

k = 150
Do While k < 351
Sheets('149').Copy Before:=Sheets(2)
ActiveSheet.Name = k
k = k + 1
Loop

End Sub
 
Toujours pas ca s'arrete toujours vers 180 feuilles copiés.
Ca fonctionne avec une feuille vide mais la mienne et tres chargée au niveau de la mise en page, des formules ...

Quoi qu'il en soit g du bidouiller pour arriver à kelke chose :
ma procedure copie la moitié des feuilles dans le fichier, et l'autre moitié dans un classeur temporaire créé pour l'occasion.
ensuite je fais une selection de toute les feuille du classeur temporaire et les copie d'un block vers mon classeur destionation.
ensuite je suprimme mon classeur temporaire.

Ca fait un peu lourd mais bon au moin ca plante pas !!!!

Merci à tous pour votre aide.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
788
Réponses
3
Affichages
567
Retour