Nombre de format de cellules différents trop élévé
3 réponses
JL
Bonjour,
Dans un classeur excel 2000 comportant de nombreuses feuilles (plaquette
comptable), j'ai voulu colorer le fond de mes en-têtes de tableaux mais j'ai
eu rapidement droit au message "Nombre de format de cellules différents trop
élévé" et n'ai pas pu aller plus loin. Pourtant c'était la même couleur que
j'utilisai pour tous les tableaux.
Dans un classeur excel 2000 comportant de nombreuses feuilles (plaquette comptable), j'ai voulu colorer le fond de mes en-têtes de tableaux mais j'ai
eu rapidement droit au message "Nombre de format de cellules différents trop
élévé" et n'ai pas pu aller plus loin. Pourtant c'était la même couleur que
j'utilisai pour tous les tableaux.
Y-a-t-il un moyen de contourner ce problème?
Merci
Modeste
Bonsour® JL wrote:
avec ca je suis aidé ;-))
Faire le ménage du classeur. http://support.microsoft.com/default.aspx?scid=kb;fr;213904
ce n'est hélas que la seule réponse exhaustive ../..Ce problème se produit lorsque le classeur contient plus d'environ 4 000 combinaisons de formats de cellule différentes. ../.. cela sous-entend : couleurs cellule, couleurs bordure, tailles bordure, polices, couleurs police, tailles police, type police, alignement H, alignement V, formats nombres, hauteur et largeur de cellule, commentaire et formats associés le nombre 4000 est trés facilement atteint...
a tout hasard une proc de LL '============================== Option Explicit
Sub SupprFormatsInutilisés() SupprFormats True End Sub
Sub SupprFormatsCellulesVides() SupprFormats False End Sub
Private Sub SupprFormats(Min As Boolean) ' http://dj.joss.free.fr/format.htm#format1 Dim Form As String, Prev As String, F As String Dim i As Integer, j As Integer Dim dObj As New DataObject, c As New Collection Dim Wksht As Worksheet, Cell As Range, Shts As Sheets
Application.EnableCancelKey = xlDisabled Application.StatusBar = "Collecte des formats en cours..." Do j = (j + 1) Mod 5 If j = 0 Then i = i + 1 Application.SendKeys "{TAB}{END}{TAB 2}{HOME}" & IIf(i, "{PGDN " _ & i & "}", "") & IIf(j, "{DOWN " & j & "}", "") & "+{TAB}^c{ESC}" Application.Dialogs(xlDialogFormatNumber).Show dObj.GetFromClipboard Form = dObj.GetText(1) If Form = Prev Then Exit Do c.Add Form, Form Prev = Form Loop
Application.StatusBar = "Recherche des formats utilisés en cours..." Set Shts = ActiveWindow.SelectedSheets On Error Resume Next For Each Wksht In Worksheets Wksht.Select For Each Cell In Wksht.UsedRange If Not IsEmpty(Cell) Or Min Then F = c.Item(Cell.NumberFormatLocal) If F <> "" Then c.Remove Cell.NumberFormatLocal F = "" End If End If Next Cell Next Wksht Application.ScreenUpdating = False Err.Clear Application.StatusBar = False j = 0
With ActiveWorkbook Workbooks.Add For i = 1 To c.Count Range("A1").NumberFormatLocal = c(i) .DeleteNumberFormat ActiveCell.NumberFormat If Err = 0 Then j = j + 1 Else Err.Clear Next i MsgBox j & " format(s) inutilisé(s) supprimé(s).", vbInformation End With ActiveWorkbook.Close False Shts.Select End Sub
"JL" a écrit dans le message de news:
Bonjour,
Dans un classeur excel 2000 comportant de nombreuses feuilles (plaquette comptable), j'ai voulu colorer le fond de mes en-têtes de tableaux mais j'ai eu rapidement droit au message "Nombre de format de cellules différents trop élévé" et n'ai pas pu aller plus loin. Pourtant c'était la même couleur que j'utilisai pour tous les tableaux.
Y-a-t-il un moyen de contourner ce problème?
Merci
Bonsour® JL wrote:
avec ca je suis aidé ;-))
Faire le ménage du classeur.
http://support.microsoft.com/default.aspx?scid=kb;fr;213904
ce n'est hélas que la seule réponse exhaustive
../..Ce problème se produit lorsque le classeur contient plus d'environ 4
000 combinaisons de formats de cellule différentes. ../..
cela sous-entend : couleurs cellule, couleurs bordure, tailles bordure,
polices, couleurs police, tailles police, type police, alignement H,
alignement V, formats nombres, hauteur et largeur de cellule, commentaire et
formats associés
le nombre 4000 est trés facilement atteint...
a tout hasard une proc de LL
'============================== Option Explicit
Sub SupprFormatsInutilisés()
SupprFormats True
End Sub
Sub SupprFormatsCellulesVides()
SupprFormats False
End Sub
Private Sub SupprFormats(Min As Boolean)
' http://dj.joss.free.fr/format.htm#format1
Dim Form As String, Prev As String, F As String
Dim i As Integer, j As Integer
Dim dObj As New DataObject, c As New Collection Dim Wksht As Worksheet, Cell
As Range, Shts As
Sheets
Application.EnableCancelKey = xlDisabled
Application.StatusBar = "Collecte des formats en cours..."
Do
j = (j + 1) Mod 5
If j = 0 Then i = i + 1
Application.SendKeys "{TAB}{END}{TAB 2}{HOME}" & IIf(i, "{PGDN " _
& i & "}", "") & IIf(j, "{DOWN " & j & "}", "") & "+{TAB}^c{ESC}"
Application.Dialogs(xlDialogFormatNumber).Show
dObj.GetFromClipboard
Form = dObj.GetText(1)
If Form = Prev Then Exit Do
c.Add Form, Form
Prev = Form
Loop
Application.StatusBar = "Recherche des formats utilisés en cours..."
Set Shts = ActiveWindow.SelectedSheets
On Error Resume Next
For Each Wksht In Worksheets
Wksht.Select
For Each Cell In Wksht.UsedRange
If Not IsEmpty(Cell) Or Min Then
F = c.Item(Cell.NumberFormatLocal)
If F <> "" Then
c.Remove Cell.NumberFormatLocal
F = ""
End If
End If
Next Cell
Next Wksht Application.ScreenUpdating = False
Err.Clear
Application.StatusBar = False
j = 0
With ActiveWorkbook
Workbooks.Add
For i = 1 To c.Count
Range("A1").NumberFormatLocal = c(i)
.DeleteNumberFormat ActiveCell.NumberFormat
If Err = 0 Then j = j + 1 Else Err.Clear
Next i
MsgBox j & " format(s) inutilisé(s) supprimé(s).", vbInformation
End With
ActiveWorkbook.Close False
Shts.Select
End Sub
"JL" <jl@sansadresse.fr> a écrit dans le message de
news:umLXeZDcFHA.2212@TK2MSFTNGP14.phx.gbl...
Bonjour,
Dans un classeur excel 2000 comportant de nombreuses feuilles
(plaquette comptable), j'ai voulu colorer le fond de mes en-têtes de
tableaux mais j'ai eu rapidement droit au message "Nombre de format
de cellules différents trop élévé" et n'ai pas pu aller plus loin.
Pourtant c'était la même couleur que j'utilisai pour tous les
tableaux.
Faire le ménage du classeur. http://support.microsoft.com/default.aspx?scid=kb;fr;213904
ce n'est hélas que la seule réponse exhaustive ../..Ce problème se produit lorsque le classeur contient plus d'environ 4 000 combinaisons de formats de cellule différentes. ../.. cela sous-entend : couleurs cellule, couleurs bordure, tailles bordure, polices, couleurs police, tailles police, type police, alignement H, alignement V, formats nombres, hauteur et largeur de cellule, commentaire et formats associés le nombre 4000 est trés facilement atteint...
a tout hasard une proc de LL '============================== Option Explicit
Sub SupprFormatsInutilisés() SupprFormats True End Sub
Sub SupprFormatsCellulesVides() SupprFormats False End Sub
Private Sub SupprFormats(Min As Boolean) ' http://dj.joss.free.fr/format.htm#format1 Dim Form As String, Prev As String, F As String Dim i As Integer, j As Integer Dim dObj As New DataObject, c As New Collection Dim Wksht As Worksheet, Cell As Range, Shts As Sheets
Application.EnableCancelKey = xlDisabled Application.StatusBar = "Collecte des formats en cours..." Do j = (j + 1) Mod 5 If j = 0 Then i = i + 1 Application.SendKeys "{TAB}{END}{TAB 2}{HOME}" & IIf(i, "{PGDN " _ & i & "}", "") & IIf(j, "{DOWN " & j & "}", "") & "+{TAB}^c{ESC}" Application.Dialogs(xlDialogFormatNumber).Show dObj.GetFromClipboard Form = dObj.GetText(1) If Form = Prev Then Exit Do c.Add Form, Form Prev = Form Loop
Application.StatusBar = "Recherche des formats utilisés en cours..." Set Shts = ActiveWindow.SelectedSheets On Error Resume Next For Each Wksht In Worksheets Wksht.Select For Each Cell In Wksht.UsedRange If Not IsEmpty(Cell) Or Min Then F = c.Item(Cell.NumberFormatLocal) If F <> "" Then c.Remove Cell.NumberFormatLocal F = "" End If End If Next Cell Next Wksht Application.ScreenUpdating = False Err.Clear Application.StatusBar = False j = 0
With ActiveWorkbook Workbooks.Add For i = 1 To c.Count Range("A1").NumberFormatLocal = c(i) .DeleteNumberFormat ActiveCell.NumberFormat If Err = 0 Then j = j + 1 Else Err.Clear Next i MsgBox j & " format(s) inutilisé(s) supprimé(s).", vbInformation End With ActiveWorkbook.Close False Shts.Select End Sub
"JL" a écrit dans le message de news:
Bonjour,
Dans un classeur excel 2000 comportant de nombreuses feuilles (plaquette comptable), j'ai voulu colorer le fond de mes en-têtes de tableaux mais j'ai eu rapidement droit au message "Nombre de format de cellules différents trop élévé" et n'ai pas pu aller plus loin. Pourtant c'était la même couleur que j'utilisai pour tous les tableaux.