Copie feuille après elle même

Bonjour,

Après quelques années sans pratiquer, je me retrouve avec un code qui ne fonctionne plus et quand j'ouvre mon classeur il m'indique "le fichier est corrompu, il ne peut pas s'ouvrir". Je dois ouvrir un autre classeur pour l'ouvrir via ce dernier .
Mais voici l'erreur qui apparait:
https://www.cjoint.com/c/KCCjOVKoXXF

mais initialement mon code était celui -ci, pour la même erreur:
'recherche des index des onglets avec le numéro de la dernière année

nbonglet = ActiveWorkbook.Sheets.Count 'compte le nombre d onglets

For a = 1 To nbonglet + 11 '11 feuilles crees
If Right(Sheets(a).Name, 4) = annee Then

'creation nouvel onglet syndicataires
Sheets(a).Select
idxfeuil = ActiveSheet.Index

Sheets(idxfeuil).Copy After:=Sheets(idxfeuil) 'copie la feuil apres elle meme
idxnewfeuil = ActiveSheet.Index 'index de la nouvelle feuil copiee


Je ne sais donc d'où vient cette erreur , pouvez-vous m'aider svp?

Configuration: Windows / Chrome 89.0.4389.90

--
N'ayez pas peur! 

3 réponses

  1. Contributeur Ambassadeur
    bonjour,
    ce code est-il dans le classeur corrompu ou dans l'autre classeur?
    je pense que le point de départ, c'est de réparer le classeur corrompu, ou de créer un nouveau classeur en bon état.
    0
    1. Merci pour votre réponse yg_be,
      Le code vient du fichier corrompu. Mais je ne sais pas si c'est vraiment cette ligne qui fait planter. Pour vous y a rien de louche dans ces lignes ?!
      Si c'est le cas je vais copier-coller le code dans un autre classeur ;-)
      0
      1. Contributeur Ambassadeur
        il suffit peut-être de sauver le fichier corrompu sous un nouveau nom.
        0
    2. J'ai essayé votre solution mais non, ça plante au même endroit.
      0
      1. Contributeur Ambassadeur
        avec le même message d'erreur, mentionnant un fichier .tmp?
        0