Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

"nombre de formats de cellule différents trop élevé "

6 réponses
Avatar
michir
Bonjour à tous, je reviens sur le forum après une longue
interruption...
Voilà éternel problème sous Excel, connu de beaucoup. Pour donner plus
d'ergonomie à une application, je l'ai bien agrémentée de moult
formatages. J'ai donc logiquement déclenché le message "Nb de
formats....trop important..." auquel je m'attendais puisque Excel
n'autorise que 4000 formats différents.
Ma question: existe t il un moyen de "mesurer" le nombre de formats
différents (macro ou autre...) afin d'étudier en temps réel la
saturation s'Excel ?
Je pense qu'un tel outil rendrait bien des services aux nombreux
pratiquants d'Excel, mais je suis incapable de l'écrire.
Question subsidiaire: quelle confiance peut-on faire à la macro
complémentaire "Karcher" en principe destinée à faire du nettoyage de
formats dans une application. Elle semble assez redoutable ?
Merci à tous
Michel

6 réponses

Avatar
MichDenis
Bonjour Michir,

Tout ce qui suit dans un module standard.

Dans la présentation suivante, seules les cellules des feuilles de calcul
sont prises en considération (sans les formats des mises en forme conditionnelle)

Il faudrait que tu ajoutes aussi, les graphiques, plus les feuilles graphiques,
certains éléments des boîtes de dialogue XL... Disons que ce n'est un début !

Dim D As Object
Dim N As Long
Type Styles_et_Formats
Styles_Utilises As Long
Formats_Particuliers As Long
End Type
'---------------------------------------------------
Sub TestNFSC()
Dim R As Styles_et_Formats
R = NbFormatsSurClasseur(ActiveWorkbook)
MsgBox ActiveWorkbook.Name & ":" & vbNewLine & _
"==>" & vbTab & R.Formats_Particuliers & _
" cellules avec formats particuliers" & vbNewLine & _
"==>" & vbTab & R.Styles_Utilises & " styles précis utilisés."
End Sub
'---------------------------------------------------
Function NbFormatsSurClasseur(Classeur As Workbook) As Styles_et_Formats
Dim sht As Worksheet

Set D = CreateObject("Scripting.Dictionary")
For Each sht In ActiveWorkbook.Worksheets
N = N + NbFormatsSurFeuille(sht)
Next sht
NbFormatsSurClasseur.Formats_Particuliers = N
NbFormatsSurClasseur.Styles_Utilises = D.Count
Set D = Nothing
End Function
'---------------------------------------------------
Function NbFormatsSurFeuille(sht As Worksheet) As Long
Dim Cell As Range, sn As String
NbFormatsSurFeuille = 0
For Each Cell In sht.UsedRange
sn = Cell.Style.Name
If Not D.exists(sn) Then D.Add sn, 1
With ActiveWorkbook.Styles(sn)
If Cell.NumberFormat <> .NumberFormat Or _
Cell.HorizontalAlignment <> .HorizontalAlignment Or _
Cell.VerticalAlignment <> .VerticalAlignment Or _
Cell.Borders.Value <> .Borders.Value Or _
Cell.Locked <> .Locked Or _
Cell.Interior.ColorIndex <> .Interior.ColorIndex Or _
Cell.Interior.Pattern <> .Interior.Pattern Or _
Cell.Font.Name <> .Font.Name Or _
Cell.Font.Size <> .Font.Size Or _
Cell.Font.Bold <> .Font.Bold Or _
Cell.Font.Italic <> .Font.Italic Or _
Cell.Font.ColorIndex <> .Font.ColorIndex Then
NbFormatsSurFeuille = NbFormatsSurFeuille + 1
End If
End With
Next Cell
End Function
'---------------------------------------------------






"michir" a écrit dans le message de groupe de discussion :
WIMZl.44026$
Bonjour à tous, je reviens sur le forum après une longue
interruption...
Voilà éternel problème sous Excel, connu de beaucoup. Pour donner plus
d'ergonomie à une application, je l'ai bien agrémentée de moult
formatages. J'ai donc logiquement déclenché le message "Nb de
formats....trop important..." auquel je m'attendais puisque Excel
n'autorise que 4000 formats différents.
Ma question: existe t il un moyen de "mesurer" le nombre de formats
différents (macro ou autre...) afin d'étudier en temps réel la
saturation s'Excel ?
Je pense qu'un tel outil rendrait bien des services aux nombreux
pratiquants d'Excel, mais je suis incapable de l'écrire.
Question subsidiaire: quelle confiance peut-on faire à la macro
complémentaire "Karcher" en principe destinée à faire du nettoyage de
formats dans une application. Elle semble assez redoutable ?
Merci à tous
Michel
Avatar
MichDenis
J'ai omis de mentionner que la procédure
publiée est l'½uvre de Daniel Maher.
Toutes mes excuses Daniel !
Avatar
Michir
Merci Denis et Daniel Maher,
Je vais voir ce que cela donne mais il est vrai que j'ai pas mal de
graphiques qui ne sont pas étrangers à la saturation d'Excel
Merci encore à vous deux, je vous donnerai des nouvelles car il me semble
que ce souci que je rencontre est partagé par plusieurs autres
Michel

"MichDenis" a écrit dans le message de
news:
J'ai omis de mentionner que la procédure
publiée est l'½uvre de Daniel Maher.
Toutes mes excuses Daniel !







Avatar
MichDenis
Afin de limiter le nombre de formats de cellules, pourquoi ne définis-tu pas
un certain nombre de styles (menu format / Style) dont tu pourrais faire
usage à volonté dans tout ton classeur dès le début de la création de ton
classeur ?



"Michir" a écrit dans le message de groupe de discussion :
#
Merci Denis et Daniel Maher,
Je vais voir ce que cela donne mais il est vrai que j'ai pas mal de
graphiques qui ne sont pas étrangers à la saturation d'Excel
Merci encore à vous deux, je vous donnerai des nouvelles car il me semble
que ce souci que je rencontre est partagé par plusieurs autres
Michel

"MichDenis" a écrit dans le message de
news:
J'ai omis de mentionner que la procédure
publiée est l'½uvre de Daniel Maher.
Toutes mes excuses Daniel !







Avatar
michir
Après mûre réflexion, MichDenis a écrit :
Afin de limiter le nombre de formats de cellules, pourquoi ne définis-tu pas
un certain nombre de styles (menu format / Style) dont tu pourrais faire
usage à volonté dans tout ton classeur dès le début de la création de ton
classeur ?



"Michir" a écrit dans le message de groupe de discussion :
#
Merci Denis et Daniel Maher,
Je vais voir ce que cela donne mais il est vrai que j'ai pas mal de
graphiques qui ne sont pas étrangers à la saturation d'Excel
Merci encore à vous deux, je vous donnerai des nouvelles car il me semble
que ce souci que je rencontre est partagé par plusieurs autres
Michel

"MichDenis" a écrit dans le message de
news:
J'ai omis de mentionner que la procédure
publiée est l'½uvre de Daniel Maher.
Toutes mes excuses Daniel !





Effectivement Denis, encore une piste à explorer.
Je pense que c'est un beau sujet à explorer ou à développer sur le site
MPFE si j'en juge par le nombre d'utilisateurs qui se coltent avec le
problème
Merci encore
Michel
Avatar
Daniel.C
Bonsoir.
Le problème va se régler tout seul :
Excel 2007 = 64 000 formats max
Pourquoi investir du temps pour un problème très marginal (quoique bien
sûr emm... quand ça arrive).
Cordialement.
Daniel

Après mûre réflexion, MichDenis a écrit :
Afin de limiter le nombre de formats de cellules, pourquoi ne définis-tu
pas
un certain nombre de styles (menu format / Style) dont tu pourrais faire
usage à volonté dans tout ton classeur dès le début de la création de ton
classeur ?



"Michir" a écrit dans le message de groupe de
discussion : #
Merci Denis et Daniel Maher,
Je vais voir ce que cela donne mais il est vrai que j'ai pas mal de
graphiques qui ne sont pas étrangers à la saturation d'Excel
Merci encore à vous deux, je vous donnerai des nouvelles car il me semble
que ce souci que je rencontre est partagé par plusieurs autres
Michel

"MichDenis" a écrit dans le message de
news:
J'ai omis de mentionner que la procédure
publiée est l'½uvre de Daniel Maher.
Toutes mes excuses Daniel !





Effectivement Denis, encore une piste à explorer.
Je pense que c'est un beau sujet à explorer ou à développer sur le site MPFE
si j'en juge par le nombre d'utilisateurs qui se coltent avec le problème
Merci encore
Michel