![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 24
|
Bonjour,
je viens d'apprendre un peu malgré moi que le "nombre maximal de styles de cellules par classeur" est de 4 000. Or j'aimerais pouvoir connaitre ce nombre de style dans mon classeur afin de pouvoir : - diminuer ce nombre (et ainsi pouvoir suivre l'évolution de ce nombre) - alerter les utilisateurs lorsque l'on s'en approche et ainsi éviter qu'ils utilisent des formats de cellules à chaque fois différent. Quelqu'un pourrait-il m'aider? Merci à tous |
|
|
|
| ANNONCES | |||
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Version Excel : Excel 2003 (PC)
Messages: 2 903
|
Bonsoir,
trouvé sur MPFE, ce code : Code:
Type Styles_Et_Formats
Styles_Utilises As Long
DeltaAvecLeStyle As Long
MEFC As Long
End Type
Dim D As Object
Sub TestNFSC()
Dim r As Styles_Et_Formats
r = NbFormatsSurClasseur(ActiveWorkbook)
MsgBox ActiveWorkbook.Name & ":" & vbNewLine & _
"==>" & vbTab & r.DeltaAvecLeStyle & _
" cellules avec formats particuliers" & vbNewLine & _
"==>" & vbTab & r.Styles_Utilises & _
" styles précis utilisés" & vbNewLine & _
"==>" & vbTab & r.MEFC & " MEFC."
End Sub
Function NbFormatsSurClasseur(Classeur As Workbook) As Styles_Et_Formats
Dim Feuille As Worksheet
Dim n As Long, fc As Long, r As Styles_Et_Formats
n = 0: fc = 0
Set D = CreateObject("Scripting.Dictionary")
For Each Feuille In ActiveWorkbook.Worksheets
r = NbFormatsSurFeuille(Feuille)
n = n + r.DeltaAvecLeStyle
fc = fc + r.MEFC
Next Feuille
NbFormatsSurClasseur.DeltaAvecLeStyle = n
NbFormatsSurClasseur.MEFC = fc
NbFormatsSurClasseur.Styles_Utilises = D.Count
Set D = Nothing
End Function
Function NbFormatsSurFeuille(sht As Worksheet) As Styles_Et_Formats
Dim Cell As Range, nomStyle As String, Res As Styles_Et_Formats
Res.MEFC = 0: Res.DeltaAvecLeStyle = 0
For Each Cell In sht.UsedRange
nomStyle = Cell.Style.Name
If Not D.exists(nomStyle) Then D.Add nomStyle, 1
With ActiveWorkbook.Styles(nomStyle)
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
Res.DeltaAvecLeStyle = Res.DeltaAvecLeStyle + 1
End If
Res.MEFC = Res.MEFC + Cell.FormatConditions.Count
End With
Next Cell
NbFormatsSurFeuille = Res
End Function
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 24
|
Re,
j'ai testé vos codes et j'avoue que je ne sais pas à quoi correspond ce que renvoie celui de Michel. Quant à celui de bhbh, en ajoutant une opération dans le code je pense que j'arrive au nombre que je cherchais donc merci à tous les deux de m'avoir aider à résoudre mon problème. A bientot Rémi |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: juin 2008
Messages: 2
|
Bonsoir!
Mais comment les informations affichées après le code de bhbh se comparent-elles avec le nombre de styles maximum de 4000?? Merci d'avance! Dernière modification par mdorfi ; 27/06/2008 à 09h35. |
|
|
|
|
|
#7 (permalink) | |
|
XLDnaute Nouveau
Date d'inscription: juin 2008
Messages: 2
|
Citation:
peux-tu partager avec moi les chngemùents que tu as apporté au code de bhbh qui t'ont permis d'afficher le nombre de styles utilisés? Merci d'avance, Marc |
|
|
|
|
|
| ANNONCES | ||
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Diviser une somme SOMMEPROD par le nombre de valeurs utilisé par SOMMEPROD ? | choup67 | Forum Excel | 9 | 30/04/2008 10h31 |
| Format de cellule : Nombre : Comment afficher €/kg ??? | rom1nb6 | Forum Excel | 6 | 28/09/2007 08h25 |
| Copier une cellule sans son style | Lloyd | Forum Excel | 3 | 07/07/2005 20h13 |
| afficher dans une cellule un nombre mais écrit en | Prof CT | Forum Excel | 3 | 01/04/2005 11h31 |
| calcul du nombre de fois que le mot est utilisé | Michelle | Forum Excel Downloads - Archives | 2 | 16/10/2004 22h54 |