Fichier endommagé

Bonjour,

Il semblerait qu'avec mon code, je génère un fichier "endommagé", c'est-à-dire qu'à l'ouverture de ce fichier, j'ai un message d'erreur "Désolé... Nous avons trouvé une problème dans le contenu de "classements divisions.xlsx", mais nous pouvons essayer de récupérer le maximum de contenu. SI la source de classeur est fiable, cliquez sur Oui".

J'ai identifié la partie de code qui pose problème, il s'agit du tri des feuilles du classeur par ordre alphabétique.

For i = 2 To Sheets.Count
   For j = i + 1 To Sheets.Count
       If UCase(Sheets(i).Name) > UCase(Sheets(j).Name) Then Sheets(j).Move before:=Sheets(i)
   Next j
Next i

Qui peut m'expliquer pourquoi ce code (qui a l'air si inoffensif) me cause autant de problème, et comment je peux parvenir au même résultat mais sans problème ?

D'avance je vous remercie pour votre temps et votre réponse,

Clémentine

Bonjour,

à tester,

    For i = 1 To Application.Sheets.Count
        For j = 1 To Application.Sheets.Count - 1
            If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then
                Sheets(j).Move after:=Sheets(j + 1)
            End If
        Next
    Next

Bonjour,

théoriquement il ne devrait pas poser de problème en effet.

Au pire une erreur à l'exécution si tu t'es ratée...

Tu devrais reconstruire ton fichier dans un classeur neuf par sécurité.

eric

Merci à vous deux pour vos réponses.

Je vais essayer le code d'Isabelle et dans la foulée, recréer un nouveau fichier.

Pour ma part, cela reste tout de même un mystère.

Clémentine

Rechercher des sujets similaires à "fichier endommage"