Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie d'une feuillle avec macro VBA - pb au bout d'un certain nombre d'exécutions

  • Initiateur de la discussion Initiateur de la discussion taishan
  • 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 !

taishan

XLDnaute Nouveau
Bonjour,

je travaille actuellement sur une feuille excel associée à deux macros.

Je dois faire varier un paramètre p de ma feuille excel, en lui faisant prendre 4 valeurs différentes (Dans l'exemple ci-joint :1,2,3,4). Puis j'aimerais afficher le résultat d'un calcul (ici, le rapport p/10) dans quatre nouvelles feuilles excel avec quatre noms différents.

J'ai donc écrit ces deux macros

1ère macro : lit les valeurs dans la feuille,fait le rapport des deux et l'écrit.

Code:
Sub Test()

Dim nb1, nb2 As Integer

nb1 = Cells(3, 3).Value
nb2 = Cells(4, 3).Value
Cells(6, 3).Value = nb1 / nb2

End Sub
2ème macro : boucle sur i=1..4 pour faire tourner la macro 1 pour quatre valeurs différentes et créer les quatre feuilles de résultat (Résultat1--> Résultat4)
Code:
Sub Boucle()
Dim i As Integer
Dim nom As String

For i = 1 To 4

[INDENT]Cells(3, 3).Value = i

Call Test

nom = "Résultat " & i

Feuil1.Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Select
Worksheets(Worksheets.Count).Activate
ActiveSheet.Name = nom
Feuil1.Activate
[/INDENT]
Next i

    
End Sub

Dans ce fichier (mis en PJ), tout marche bien.

Voilà enfin mon problème :

Dans un fichier utilisant le même principe, mais avec un calcul (ici la macro Test() ) beaucoup plus volumineux, avec beaucoup plus de paramètres, tout se passe bien pour faire le calcul 6 fois de suite et la 7ème fois ça plante
Le message d'erreur est :


Erreur d'exécution '1004":
La méthode 'Copy de l'objet '_Worksheet' a échoué

Et un clic sur "débogage" me dit que c'est la ligne suivante qui pose problème :

Feuil2.Copy after:=Worksheets(Worksheets.Count)

Je n'arrive pas à comprendre quel est le problème et surtout pourquoi ça marche six fois sans problème et pas plus...

Merci d'avance si vous pouvez me venir en aide
 

Pièces jointes

Re : Copie d'une feuillle avec macro VBA - pb au bout d'un certain nombre d'exécution

Bonjour,

A tout hasard, essayez avec votre code modifié

Code:
Sub Boucle()
Dim S As Worksheet
Dim i As Integer, j As Integer
Dim nom As String

'Efface les feuilles créées lors des précédentes exécutions de la macro
j = Worksheets.Count
Application.DisplayAlerts = False
If j > 3 Then
  For i = j To 2 Step -1
    Set S = Worksheets(i)
    S.Delete
    Set S = Nothing
  Next i
End If
Application.DisplayAlerts = True

Set S = Sheets(1)
nom = "Résultat "

For i = 1 To 4
  S.Copy after:=Worksheets(Worksheets.Count)
  With ActiveSheet
    .Cells(3, 3).Value = i
    Call Test
    .Shapes("CommandButton1").Cut
    .Name = nom & i
  End With
Next i
S.Activate
End Sub

Sub Test()
Dim nb1 As Integer, nb2 As Integer
nb1 = Cells(3, 3).Value
nb2 = Cells(4, 3).Value
Cells(6, 3).Value = nb1 / nb2
End Sub

Cordialement.

PMO
Patrick Morange
 
Re : Copie d'une feuillle avec macro VBA - pb au bout d'un certain nombre d'exécution

Bonjour et merci pour votre réponse!

Malheureusement, je rencontre le même problème avec votre code ; au bout d'un certain nombre d'exécutions, excel plante pour la même raison.

En tapant sur google "La méthode 'Copy de l'objet '_Worksheet' a échoué", je suis tombé sur cette page : XL97*: La méthode Copy de l'objet Feuilles provoque une erreur de page non valide qui semble dire que le problème vient d'un bug d'Excel 1997 et qu'il a été résolu sur Excel 2000.

J'ai pourtant Excel 2003...

En tout cas j'ai pu m'inspirer de ce que proposait microsoft pour résoudre mon problème.

Merci quand même!
 
- 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

Discussions similaires

Réponses
0
Affichages
459
Réponses
3
Affichages
582
Réponses
4
Affichages
425
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…