Supprimer TOUS les styles de cellules

Dernière mise à jour le 05/02/2024
Temps de lecture : 3 minutes

Vous travaillez sur un classeur Excel, et vous constatez que vous avez ENORMEMENT de styles qui ne servent à rien. Cet article va vous montrer comment les supprimer TOUS, en quelques étapes.

Attention, nous allons bidouiller dans les lignes de code d'un classeur Excel.

Origine du problème

Ce problème est de moins en moins fréquent. En fait, sur les vieux classeurs (avec Excel 2013), quand vous recopiez une feuille vers un autre classeur, vous recopiez aussi tous les styles.

C'est pourquoi, il n'était pas rare de se retrouver dans une situation similaire à celle-ci, avec plein de styles inutiles.

Classeur avec de nombreux styles de cellule personnalisés

Vous pouvez supprimer chaque style un par un en faisant un clic-droit, mais c'est une perte de temps. Mais si le nombre de styles est très important, il existe une technique pour les supprimer tous en travaillant au niveau du fichier xml d'Excel.

Mise en garde

La technique ici va consister à éditer et modifier le fichier XML du classeur Excel.

Si la moindre erreur de caractère est effectuée, le classeur sera corrompu et vos données seront perdues.

Faîtes donc très attention aux modifications que vous allez effectuer❗

Méthode pour supprimer tous les styles de cellules

  1. Dupliquez le classeur dans lequel vous souhaitez supprimer tous les styles de cellules personnalisées.
Dupliquer le fichier à nettoyer
  1. Renommer l'extension de la sauvegarde en .zip
Renommer lextension en zip
  1. Double-cliquez sur le fichier zipper pour ouvrir toute l'architecture XML du fichier.
  2. Dans le répertoire xl, copiez le fichier styles.xml et collez le dans un répertoire séparer ou sur le bureau
Fichier styles.xml dans le fichier zippé
  1. Ouvrez le fichier dans un éditeur de texte (ici Notepad++) avec son l'extension XML Tool pour visualiser la hiérarchie du fichier XML
  2. Recherchez la balise cellStyles. Notez au passage le nombre de styles de cellules que votre classeur contient (ici 70 styles personnalisés)
Balise cellStyles dans le fichier styles.xml 1
  1. Supprimez toutes les lignes entre les balises <cellStyles> et </cellStyles>, y compris les balises
Suppression du bloc cellStyles
  1. Sauvegardez le fichier styles.xml
  2. Ré-importez le fichier styles.xml dans le fichier zipper et bien sûr dans le même répertoire ; le répertoire xl
Transférer le fichier dans le fichier zippé
  1. Changez l'extension du fichier zip en xlsx (l'inverse de l'étape 2)
  2. Ouvrez le fichier et tous les styles de cellules personnalisées ont été supprimés ???
Le fichier est ouvert sans les styles de cellules personnalisés

D'où viennent ces styles ?

En fait, on retrouve ce genre de problème avec des classeurs créés avec l'extension xls. Et ce cas arrive plus souvent qu'il n'y paraît.

  • Au moment de la conversion d'un fichier xls vers un fichier xlsx, les cellules avec des styles particuliers ont été converties en style de cellules personnalisées.
  • Ces styles sont automatiquement importés dans un classeur quand une feuille de calcul est importée depuis un autre classeur avant Excel 2013.

9 Comments

  1. Laurent
    15/07/2024 @ 16:15

    Bonjour,
    J'ai un fichier avec énormément de styles importés.
    J'ai essayé votre méthode mais j’ai un souci car l'éditeur xml ne me montre que deux lignes (dont une fait plus de 10 millions de caractères ...).
    Je n'arrive pas à ouvrir la même présentation que dans votre exemple dans notepad ++
    J'avoue être nul en "xml". Y a t'il une façon d'avoir la même présentation ?

    Reply

    • Frédéric LE GUEN
      15/07/2024 @ 16:28

      J'avoue que la technique est "complexe". Si vous voulez, je m'en occupe mais ça sera facturée par ma société.

      Reply

  2. Hajer
    20/12/2022 @ 09:39

    Bonjour,

    L’extraction du rapport sort avec le message d’erreurs et format différent du rapport habituel.

    "fonction supprimée: format dans la partie /xl/styles.xml (styles)"

    Ce problème ne se reproduit que pour certains utilisateurs, d'autres non (même si les utilisateurs ont la même version et les mêmes plugins Excel).

    Avez-vous svp une idée sur ce sujet?

    Reply

    • Frédéric LE GUEN
      20/12/2022 @ 10:46

      Non, pas la moindre idée

      Reply

  3. Emile
    28/10/2021 @ 16:50

    Bonjour,
    ou alors, en VBA 🙂

    Sub SupprStyles()
    Dim St As Style
    For Each St In ActiveWorkbook.Styles
    If Not St.BuiltIn Then St.Delete
    Next St
    End Sub

    Reply

    • Frédéric LE GUEN
      28/10/2021 @ 17:36

      Moouuui ... Oui c'est exact mais ça nécessite que l'utilisateur connaisse déjà l'interface de l'éditeur VBA (et je peux vous assurer que ce n'est pas le cas de tout le monde)
      Ensuite, avec la technique que je décris, on connait le nombre de style existant. Et surtout, et malgré que j'ai écris un livre sur les macros aux éditions ENI, Microsoft ne va pas conserver le VBA dans les années futures. Donc, nulle part dans mon site je parle de VBA quand il existe une autre solution.

      Reply

      • Emile
        28/10/2021 @ 17:51

        C'est clair, mais c'était très court à écrire alors je n'ai pas pu résister 🙂
        trés bon site sur Excel, merci pour ces astuces !

  4. RPM
    06/05/2021 @ 11:01

    Merci je vous dois une fière chandelle ; j'avais commencé à enlever les styles 1 par 1... en consultant le xml, j'ai vu qu'il y en avait 15020
    🙂

    Reply

    • Frédéric LE GUEN
      06/05/2021 @ 11:19

      Content que ça vous ai aidé. Ce n'est évidemment pas l'article le plus populaire de mon blog vu sa complexité technique, mais face à ce genre de situation, j'ai bien été obligé d'expliquer l'astuce pour nettoyer complètement un fichier de ses styles.

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Microsoft MVP 2024

Supprimer TOUS les styles de cellules

Reading time: 3 minutes
Dernière mise à jour le 05/02/2024

Vous travaillez sur un classeur Excel, et vous constatez que vous avez ENORMEMENT de styles qui ne servent à rien. Cet article va vous montrer comment les supprimer TOUS, en quelques étapes.

Attention, nous allons bidouiller dans les lignes de code d'un classeur Excel.

Origine du problème

Ce problème est de moins en moins fréquent. En fait, sur les vieux classeurs (avec Excel 2013), quand vous recopiez une feuille vers un autre classeur, vous recopiez aussi tous les styles.

C'est pourquoi, il n'était pas rare de se retrouver dans une situation similaire à celle-ci, avec plein de styles inutiles.

Classeur avec de nombreux styles de cellule personnalisés

Vous pouvez supprimer chaque style un par un en faisant un clic-droit, mais c'est une perte de temps. Mais si le nombre de styles est très important, il existe une technique pour les supprimer tous en travaillant au niveau du fichier xml d'Excel.

Mise en garde

La technique ici va consister à éditer et modifier le fichier XML du classeur Excel.

Si la moindre erreur de caractère est effectuée, le classeur sera corrompu et vos données seront perdues.

Faîtes donc très attention aux modifications que vous allez effectuer❗

Méthode pour supprimer tous les styles de cellules

  1. Dupliquez le classeur dans lequel vous souhaitez supprimer tous les styles de cellules personnalisées.
Dupliquer le fichier à nettoyer
  1. Renommer l'extension de la sauvegarde en .zip
Renommer lextension en zip
  1. Double-cliquez sur le fichier zipper pour ouvrir toute l'architecture XML du fichier.
  2. Dans le répertoire xl, copiez le fichier styles.xml et collez le dans un répertoire séparer ou sur le bureau
Fichier styles.xml dans le fichier zippé
  1. Ouvrez le fichier dans un éditeur de texte (ici Notepad++) avec son l'extension XML Tool pour visualiser la hiérarchie du fichier XML
  2. Recherchez la balise cellStyles. Notez au passage le nombre de styles de cellules que votre classeur contient (ici 70 styles personnalisés)
Balise cellStyles dans le fichier styles.xml 1
  1. Supprimez toutes les lignes entre les balises <cellStyles> et </cellStyles>, y compris les balises
Suppression du bloc cellStyles
  1. Sauvegardez le fichier styles.xml
  2. Ré-importez le fichier styles.xml dans le fichier zipper et bien sûr dans le même répertoire ; le répertoire xl
Transférer le fichier dans le fichier zippé
  1. Changez l'extension du fichier zip en xlsx (l'inverse de l'étape 2)
  2. Ouvrez le fichier et tous les styles de cellules personnalisées ont été supprimés ???
Le fichier est ouvert sans les styles de cellules personnalisés

D'où viennent ces styles ?

En fait, on retrouve ce genre de problème avec des classeurs créés avec l'extension xls. Et ce cas arrive plus souvent qu'il n'y paraît.

  • Au moment de la conversion d'un fichier xls vers un fichier xlsx, les cellules avec des styles particuliers ont été converties en style de cellules personnalisées.
  • Ces styles sont automatiquement importés dans un classeur quand une feuille de calcul est importée depuis un autre classeur avant Excel 2013.

9 Comments

  1. Laurent
    15/07/2024 @ 16:15

    Bonjour,
    J'ai un fichier avec énormément de styles importés.
    J'ai essayé votre méthode mais j’ai un souci car l'éditeur xml ne me montre que deux lignes (dont une fait plus de 10 millions de caractères ...).
    Je n'arrive pas à ouvrir la même présentation que dans votre exemple dans notepad ++
    J'avoue être nul en "xml". Y a t'il une façon d'avoir la même présentation ?

    Reply

    • Frédéric LE GUEN
      15/07/2024 @ 16:28

      J'avoue que la technique est "complexe". Si vous voulez, je m'en occupe mais ça sera facturée par ma société.

      Reply

  2. Hajer
    20/12/2022 @ 09:39

    Bonjour,

    L’extraction du rapport sort avec le message d’erreurs et format différent du rapport habituel.

    "fonction supprimée: format dans la partie /xl/styles.xml (styles)"

    Ce problème ne se reproduit que pour certains utilisateurs, d'autres non (même si les utilisateurs ont la même version et les mêmes plugins Excel).

    Avez-vous svp une idée sur ce sujet?

    Reply

    • Frédéric LE GUEN
      20/12/2022 @ 10:46

      Non, pas la moindre idée

      Reply

  3. Emile
    28/10/2021 @ 16:50

    Bonjour,
    ou alors, en VBA 🙂

    Sub SupprStyles()
    Dim St As Style
    For Each St In ActiveWorkbook.Styles
    If Not St.BuiltIn Then St.Delete
    Next St
    End Sub

    Reply

    • Frédéric LE GUEN
      28/10/2021 @ 17:36

      Moouuui ... Oui c'est exact mais ça nécessite que l'utilisateur connaisse déjà l'interface de l'éditeur VBA (et je peux vous assurer que ce n'est pas le cas de tout le monde)
      Ensuite, avec la technique que je décris, on connait le nombre de style existant. Et surtout, et malgré que j'ai écris un livre sur les macros aux éditions ENI, Microsoft ne va pas conserver le VBA dans les années futures. Donc, nulle part dans mon site je parle de VBA quand il existe une autre solution.

      Reply

      • Emile
        28/10/2021 @ 17:51

        C'est clair, mais c'était très court à écrire alors je n'ai pas pu résister 🙂
        trés bon site sur Excel, merci pour ces astuces !

  4. RPM
    06/05/2021 @ 11:01

    Merci je vous dois une fière chandelle ; j'avais commencé à enlever les styles 1 par 1... en consultant le xml, j'ai vu qu'il y en avait 15020
    🙂

    Reply

    • Frédéric LE GUEN
      06/05/2021 @ 11:19

      Content que ça vous ai aidé. Ce n'est évidemment pas l'article le plus populaire de mon blog vu sa complexité technique, mais face à ce genre de situation, j'ai bien été obligé d'expliquer l'astuce pour nettoyer complètement un fichier de ses styles.

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.