Détecter formule(s) supérieure(s) à 8192 caractères ?

Bonjour le Forum,

Après un plantage, Excel me signale une erreur dont je n’arrive pas à me défaire, et qui empêche d’enregistrer mon fichier.

J’obtiens le message suivant :

« La longueur d'une ou plusieurs formules de ce classeur dépasse la limite autorisée de 8192 caractères. Pour éviter ce problème, enregistrez le classeur au format Classeur binaire Excel. »

…malheureusement, Excel n’indique pas où se trouve(nt) le(s) problème(s).

Peut-on faire ça en VBA ? (càd : trouver les cellules incriminées dans un classeur).

Merci !

Bonjour,

essaie avec ça :

Sub longFormules()
    Dim sh As Worksheet, c As Range
    For Each sh In Worksheets
        sh.Activate
        For Each c In Selection.SpecialCells(xlCellTypeFormulas)
            If Len(c.Formula) > 8180 Then MsgBox c.Address & " : " & Len(c.Formula)
        Next c
    Next sh
End Sub

J'ai mis un peu moins que 8192

eric

Bonjour, et merci beaucoup eriiic,

Ce message d'erreur étant hyperstressant (je finis un travail super important et Excel refusait d'enregistrer), j'ai trouvé une issue provisoire en copiant dans un autre classeur la feuille active lors du plantage.

Excel a bien voulu enregistrer le nouveau classeur.

Mais du coup : je n'arrive plus à déclencher le message d'erreur et je ne peux donc pas tester ton code !!!

Désolé de t'avoir fait trimer pour rien.

J'espère au moins que ça aidera quelqu'un dans la même situation (ou peut-être moi si Excel replante ?).

Merci encore.

Ce petit programme n'attend pas une erreur, il balaie toutes les formules et annonce les formules plus longues que la taille indiquée.

eric

Rechercher des sujets similaires à "detecter formule superieure 8192 caracteres"