Bonjour,

J'ai un problème avec la méthode worksheets.copy dans excel.
J'ai une feuille nommée "R1" qui est une feuille de résultats vierge. En début de traitement, je supprime la feuille "Résultats1" et puis je copie la feuille "R1" en "Résultats1". Par la suite, j'affiche les différents résultats dans cette dernière feuille.
Tout fonctionnait jusqu'à maintenant mais voilà qu'une collègue qui utilise le fichier excel sous Windows XP SP2 et office 2003 n'arrive plus à traiter les données : excel stoppe à la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Worksheets("R1").Copy after:=Worksheets(Worksheets.Count)
sans afficher aucune erreur. J'ai essayé en mettant à la place
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThisWorkbook.Worksheets("R1").Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Worksheets("R1").Copy after:=Worksheets(1)
mais rien ni fait. Je ne vois vraiment pas ce que je pourrais faire d'autre. J'ai fait une recherche sur msdn et je n'ai rien trouvé de concluant. Quelqu'un aurait-il une idée ?

Voilà le code complet de la fonction qui pose problème.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function maz_résultats()
' supprime la feuille résultats1
If (sheetexists("Résultats1") = True) Then
   Application.DisplayAlerts = False
   Worksheets("Résultats1").Visible = True
   Worksheets("résultats1").Delete
   Application.DisplayAlerts = True
End If
' copie la feuille R1 en Résultats1
Worksheets("R1").Visible = True
Worksheets("R1").Activate
Worksheets("R1").Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Résultats1"
Worksheets("R1").Visible = False
End Function