none
nombre de formats (style) différents trop elevés dans excel RRS feed

  • Question

  • bonjour,

    J'ai une feuille de calcul excel qui m'affiche que "le nombres de formats différents est trop élevé".

    Je supprime à la main (1 par 1 !!!) quelques styles presque tous identiques mais c'est un peu long !!!

    je recherche une procédure pour supprimer plusieurs styles à la fois et que les fichiers ne "rajoutent" pas de styles a chaque utilisation.

    merci pour votre aide, j'ai vu la questions plusieurs fois sur le web mais je n'ai trouvé aucune réponse claire.

    Seb

    jeudi 25 septembre 2014 14:57

Réponses

Toutes les réponses

  • Bonjour,

    Je vous invite à lire l'article "Deleting unwanted styles".

    Vous y trouverez une macro qui parcours un par un les styles du classeur actif et vous propose pour chacun de le supprimer.

    En protégeant la feuille vous devriez empêcher l'ajout de styles par les utilisateurs.


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    jeudi 25 septembre 2014 15:49
  • Merci pour la réponse mais j'ai un petit souci.

    Il reconnait bien mes styles, me demande si je veux les supprimer, alors je clique sur oui.

    Cependant j'ai tellement de style que je clique oui des centaines de fois (1h00 environ) puis je veux sortir et enregistrer le fichier avec un peu moins de style mais c'est impossible (la macro n'est pass fini, je pense ...)  il me faut faire un ctrl + alt + sup pour finir la tache.

    Quand je re-ouvre mon fichier, il reste tous les styles ...

    Vous avez une solution ?

    Merci.

    Seb

    lundi 29 septembre 2014 12:58
  • Bonjour,

    Je vous propose de modifier quelques peu le code :

    Variante 01 : ajouter le bouton "Annuler" pour quitter la procédure

    Sub StyleKill()
        Dim styT As Style
        Dim intRet As Integer
    
        For Each styT In ActiveWorkbook.Styles
            If Not styT.BuiltIn Then
                intRet = MsgBox("Delete style '" & styT.Name & "'?", vbYesNoCancel)
                If intRet = vbYes Then styT.Delete
                If intRet = vbCancel Then Exit Sub
            End If
        Next styT
    End Sub

    Variante 02 : supprimer tous les styles personnalisés

    Sub StyleKill()
        Dim styT As Style
        Dim intRet As Integer
    
        For Each styT In ActiveWorkbook.Styles
            If Not styT.BuiltIn Then styT.Delete
        Next styT
    
    End Sub

    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users


    lundi 29 septembre 2014 13:28
  • super génial, 

    J'ai pris la variante 2, la macro a tourné 30 mn !!

    dernière question vous m'avez dit de protéger la feuille contre les ajouts de styles, vous pouvez me dire ou cocher cette option ?

    Encore merci.

    lundi 29 septembre 2014 16:21
  • Bonjour,

    Par protéger la feuille, je voulez dire utiliser la commande "Protéger la feuille".

    En utilisant cette fonctionnalité vous allez interdire toutes modifications dans le format des cellule et donc bloquer l'ajout de styles.

    Pour en savoir plus : http://office.microsoft.com/fr-fr/excel-help/deverrouiller-des-zones-specifiques-dune-feuille-de-calcul-protegee-HA010342979.aspx

    J'espère que cela vous conviendra.


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    • Marqué comme réponse SEB13 mardi 30 septembre 2014 12:27
    mardi 30 septembre 2014 08:20