Nombre de formats de cellule differents trop élevé

popeckjunior

XLDnaute Junior
bonjour,

j'ai un petit soucis (encore sous excel...)

lorsque je souhaite incéré des feuilles d'un autres classeur le message suivant apparé : "Nombre de formats de cellule differents trop élevé"

j'ai trouvé sur le forum une solution mais qui semble tres tres tres longue (format => nombre => personaliser =>supprimer)

y a t'il une solution pour faire cette manip via une macro? et ainsi gagner bcp bcps de temps

sinon j'ai egalement trouver sur le forum une technique mais qui ne donne rien de vraiment tres concluant : uttiliser un fichier "Karcher"

merci pour votre aide
bonne soiree
 

jeanpierre

Nous a quitté
Repose en paix
Re : Nombre de formats de cellule differents trop élevé

Bonsoir popeck,

A priori il ya quelques limites aux formats, mais il faut tout de même faire fort pour les dépasser.

Peux-tu préciser un peu plus, stp ?

A te lire pour plus et bonne soirée.

Jean-Pierre
 
G

Guest

Guest
Re : Nombre de formats de cellule differents trop élevé

Bonsoir,

Va voir ici où tu pourras lire qu'il n'y a pas que les formats de nombres personalisés qui sont en cause dans ce genre de message d'erreur.

Pour remedier à ça il te faudra peut-être refaire ton classeur en ne copiant que les valeurs et/ou formules.

A+
 

popeckjunior

XLDnaute Junior
Re : Nombre de formats de cellule differents trop élevé

bonjour,

merci pour vos reponses,

je viens d'aller voir le lien est effectivement il semble que j'ai fait fort pour en arrivé la...

bisard car je ne trouve pas avoir utiliser autant de "caractere" differents

leur solution est de refaire le classeur en faisant GAFFE
=> cette solution est pas evidente car j'ai bcp de feuille, formule et macro


bref, pour repondre à jean pierre, j'ai un fichier d'origine ou j'inserre regulierement depuis quelques annees des feuilles, formule et macro ( le fichier est dc assez ballez mais pas non plus super ballez) j'ai souhaité incérrer une feuile recemment est ce message d'erreur est apparu. refaire le classeur me prendrai des jours et des jours. c'est donc pour cella que je souhaité savoir s'il existe une macro pour harmoniser les formats (pour faire diminué le nombre de format differents dans mon classeur et ainsi permettre d'incéré des nouvelles feuilles)

pour info :
il y a environ 120 feuilles mais qui sont relativement semblable (meme couleur, format taille ecriture ect...)
merci
 
Dernière édition:
G

Guest

Guest
Re : Nombre de formats de cellule differents trop élevé

Hello,

ton post #4 à dit:
pour info :
il y a environ 120 feuilles mais qui sont relativement semblable (meme couleur, format taille ecriture ect...)

Relativement semblable n'est pas semblable.et sur 120 feuilles c'est suffisant pour avoir créer au fil du temps plus de format différent qu'il n'en fallait.

je ne suis pas aller sur le lien car j'ai deja effectuer la manip du "Karcher" mais lorsque je l'execute la mise en forme bouge pas mal (un peu trop voir totalement)

Il faut savoir ce que tu veux. C'est embêtant mais c'est ça ou refaire le classeur.

A+
 

Roland_M

XLDnaute Barbatruc
Re : Nombre de formats de cellule differents trop élevé

bonjour à tous

copier cette macro dans n'importe quel module d'un classeur.
puis une fois copiée, se placer dessus et > taper sur F5 pour l'exécuter !
ça nettoye les formats du classeur en cours.

Code:
'supprimer les formats cellules personnalisés code d'origine Laurent Longre
'fonctionne jusque Excel 2007 avec la référence "Microsoft Forms 2.0 Object Library"
'si réfce inexistante, faire parcourir... et sélectionner \WINDOWS\system32\FM20.DLL
'.. sinon vous créez un userform et vous le supprimez, la réfce sera cochée automatiquement
'------------------------------
'VOIR explication pour la ligne If Not IsEmpty(Cell) Or True Then '***) mettre False ou True selon !?
'------------------------------
Private Sub SupprFormatCellPerso()
On Error GoTo Erreur: Err.Clear
Dim DatObj As New DataObject, CollectFormat As New Collection
Dim Wksht As Worksheet, Shts As Sheets, Cell As Range

'test si des feuilles sont protégées (erreur avec Application.Dialogs..)
For Each Wksht In Worksheets
 If Wksht.ProtectContents = True Then
    Msg$ = "Pour exécuter cette macro, aucune feuille ne doit être protégée." & vbLf & vbLf & _
    "La feuille " & Wksht.Name & " doit être déprotégée !"
    MsgBox Msg$, vbInformation: Exit Sub
 End If
Next

'svg feuil select en cours pour replacer à la fin
Set Shts = ActiveWindow.SelectedSheets
Application.ScreenUpdating = False

'1' Collecte des formats en cours...
'   init touches clavier pour copier les formats dans le presse papier
'   ouvre la boite de dialogue des formats
'   load formats dans le presse papier et ajoute à la collection
MsgBox "Je vais loader les formats ..."

'F% = 0: I% = 0    Application.SendKeys de Laurent Longre
'Do: F% = (F% + 1) Mod 5: If F% = 0 Then I% = I% + 1
'Application.SendKeys "{TAB}{END}{TAB 2}{HOME}" & IIf(I%, "{PGDN " & I% & "}", "") & IIf(F%, "{DOWN " & F% & "}", "") & "+{TAB}^c{ESC}"

' modif perso simplifié
'Application.SendKeys pour se placer dans la boite de dialogue des formats cellules...
'{TAB}sur Catégorie {END}sur Personnalisés {TAB 2}sur la liste des formats {HOME}en haut
'{DOWN F%}curseur bas autant de fois dans la liste
'+{TAB}MajusTab(soit Tab arrière)remonte au-dessus case Type: (pour après copier les caract)
'^c Copie dans PressPap {ESC}sortie
SvgForma$ = "": F% = 0 'départ après Standard
Do: F% = F% + 1
 Application.SendKeys "{TAB}{END}{TAB 2}{HOME}{DOWN " & F% & "}" & "+{TAB}^c{ESC}"
 Application.Dialogs(xlDialogFormatNumber).Show: DatObj.GetFromClipboard
 Forma$ = DatObj.GetText(1): If Forma$ = SvgForma$ Then Exit Do
 CollectFormat.Add Forma$, Forma$: SvgForma$ = Forma$
Loop

'2' Recherche des formats utilisés en cours (boucle sur toutes les feuil)
'ligne If Not IsEmpty(Cell) Or ???? Then *** mettre False ou True selon..
'***) Or True  pour supprimer les formats inutilisés dans les cellules  .
'***) Or False pour supprimer les formats dans les cellules vides       .
'IsEmpty(Cell)=True si non initialisé / donc Not True=False si initialisé
'test Ok: si False Ou False / si False Ou True
MsgBox "Je vais tester les formats ..."
On Error Resume Next: Err.Clear: Z$ = ""
'boucle sur toutes les feuil
For Each Wksht In Worksheets
 Wksht.Select 'boucle cells de la feuil
 For Each Cell In Wksht.UsedRange
  If Not IsEmpty(Cell) Or True Then '***) mettre False ou True selon !?
     Z$ = CollectFormat.Item(Cell.NumberFormatLocal) 'si format existe on le garde
     If Z$ <> "" Then CollectFormat.Remove Cell.NumberFormatLocal: Z$ = "" 'enlève de la liste à supprimer
  End If
 Next
Next
'3' CreNouv classeur pour coller et tester/supprimer formats personnalisés
MsgBox "Je vais supprimer les formats ..."
On Error Resume Next: Err.Clear: F% = 0
With ActiveWorkbook
 Workbooks.Add
 For I% = 0 To CollectFormat.Count
   Range("A1").NumberFormatLocal = CollectFormat(I%) 'colle le format
  .DeleteNumberFormat ActiveCell.NumberFormat 'delete format (de ActiveCell ! pas pareil que CollectFormat(I%)
   If Err Then Err.Clear Else F% = F% + 1 'si Err ce n'est pas un perso
 Next
End With
ActiveWorkbook.Close False
'fin
Shts.Select
Application.ScreenUpdating = True
MsgBox F% & " format(s) inutilisé(s) supprimé(s).", vbInformation
Set DatObj = Nothing: Set CollectFormat = Nothing: Set Wksht = Nothing: Set Shts = Nothing
On Error GoTo 0: Err.Clear
Exit Sub
Erreur: '-- traite erreur -------
Application.ScreenUpdating = True
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
MsgBox Msg$, vbCritical, "", Err.HelpFile, Err.HelpContext
On Error GoTo 0: Err.Clear
End Sub
 

popeckjunior

XLDnaute Junior
Re : Nombre de formats de cellule differents trop élevé

bonsoir,

merci pour l'interet que vous portez pour ce poste

effectivement il faut savoir ce que je veux. si je ne doit pas y couper et bien..... je vais devoir le faire....

la macro de roland est interessante mais elle n'a supprimer que 6 formats. j'en conclut que cela ne va pas etre suffisant.

concerant mon probleme :


le nombre de paramettre different est t'il liee au nombre de paramattre total du classeur ?

je m'explique, si l'on supprime tt les paramettres inutille d'une feuille, cella va t'il etre le debut de la solution. si t'elle est le cas, y a t'il une possibilité pour adapter la macro de roland, pour qu'elle ne scan que une feuille precise est qu'elle supprime tts les paramettre personnel inutiliser. (je ferrais cette manipe sur les 120 autres feuilles).

=> le bug est t'il liee au nombre total de paramettre different ou liee à la somme des paramettres de ttes les feuille ?

je ne sais pas si vous voyer la finalité de cette reflexio, j'espere que oui car j'ai du mal à l'exposer

merci de votre aide

ps : felicitation roland, je pensse que ta macro va servir pour le forum (car tres interessante)

Bonne soiree
 

Discussions similaires

Statistiques des forums

Discussions
312 389
Messages
2 087 927
Membres
103 676
dernier inscrit
Haiti