OVH Cloud OVH Cloud

Erreur "Impossible d'ajouter davantage de formats de nombre personalisés"

1 réponse
Avatar
Benjamin
Bonjour,

J'ai mis en place 1 tableau crois=E9 dynamique et lorsque je=20
l'actualise, j'ai ce message d'erreur :

Erreur "Impossible d'ajouter davantage de formats de=20
nombre personalis=E9s"

Pourquoi ?? Je n'ai aucun format personalis=E9 ni rien=20
d'autre.

Merci.

BT

1 réponse

Avatar
Daniel.j
A tout hasard essaie d'utiliser cette macro pour
faire un peu de nettoyage:

Supprime les formats inutilisés. Utile pour conserver de la mémoire

- La procédure SupprFormatsInutilisés supprime tous les formats
personnalisés qui ne sont utilisés nulle part dans le classeur actif.

- La procédure SupprFormatsCellulesVides supprime également les formats
inutilisés, *et aussi* les formats qui ne sont attachés *qu'à des cellules vides*.

Désolé pour l'affichage répété de la boîte de dialogue "Format de
cellule " au début de la macro, je ne sais pas trop comment l'éviter"
(ScreenUpdating = False n'y change rien, ni LockWindowUpdate).

Si tu utilises Excel 2000, il faut ajouter au projet une référence à
"Microsoft Forms 2.0 Object Library". Cette macro n'est prévue que pour
Excel 97 et 2000 (et j'espère les versions ultérieures!). Je ne l'ai
testée que sous Excel 2000 jusqu'à présent.
Laurent Longre
Testé sous Xp . DJ
========================================== Option Explicit

Sub SupprFormatsInutilisés()
SupprFormats True
End Sub

Sub SupprFormatsCellulesVides()
SupprFormats False
End Sub

Private Sub SupprFormats(Min As Boolean)

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

http://dj.joss.free.fr/format.htm#format1

--
Daniel MVP Excel
FAQ du Forum Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm


"Benjamin" a écrit dans le message de news:
096601c39a17$6dfb58e0$
Bonjour,

J'ai mis en place 1 tableau croisé dynamique et lorsque je
l'actualise, j'ai ce message d'erreur :

Erreur "Impossible d'ajouter davantage de formats de
nombre personalisés"

Pourquoi ?? Je n'ai aucun format personalisé ni rien
d'autre.

Merci.

BT