OVH Cloud OVH Cloud

Supprimer tous les formats personnalisés

11 réponses
Avatar
garnote
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas par cas :
1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge

10 réponses

1 2
Avatar
Modeste
;-)))
bonjour Serge....
Sans macro !!!
et pourquoi pas sans les mains pendant que tu y es ????
(Coluche parlait de cueillir les cerises sans la queue !!,
c'est déja difficile sans les mains....)

à quoi ça sert que le volatile se décarcasse :

Détruire les formats personnalisés inutilisés
Comment détruire de manière automatique (avec VBA) tous
les formats de cellule personnalisés
qui ne sont plus utilisés et qui engraissent
considérablement excel ?
Essaie le code suivant :

- 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.

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 '---------Laurent Longre

@+
-----Message d'origine-----
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas
par cas :

1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge



.



Avatar
ChrisV
Bonjour Serge,

http://disciplus.simplex.free.fr/xl/formats.htm#formatinutile

ou de LL (supprime les formats inutilisés...)

'L Longre, mpfe
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


ChrisV


"garnote" a écrit dans le message de news:
yEnZb.62361$
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas par cas :
1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge





Avatar
garnote
Tout de suite l'artillerie lourde !
J'imagine la mine de l'élève à qui je montre ça !
Non mais sans blague, comment se fait-il qu'on
ne puisse pas sélectionner une liste dans «Personnalisée» ?
(même niaiserie quand on veut supprimer des noms)
Un oubli de Microhard ou c'est d'une extrême complexité
à offrir comme option ?

:-)))

Serge


"Modeste" a écrit dans le message de
news: 13afb01c3f7b5$f64d05d0$
;-)))
bonjour Serge....
Sans macro !!!
et pourquoi pas sans les mains pendant que tu y es ????
(Coluche parlait de cueillir les cerises sans la queue !!,
c'est déja difficile sans les mains....)

à quoi ça sert que le volatile se décarcasse :

Détruire les formats personnalisés inutilisés
Comment détruire de manière automatique (avec VBA) tous
les formats de cellule personnalisés
qui ne sont plus utilisés et qui engraissent
considérablement excel ?
Essaie le code suivant :

- 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.

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 '---------Laurent Longre

@+
-----Message d'origine-----
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas
par cas :

1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge



.



Avatar
garnote
Bonjour,

J'avais vu cette élémentaire macro mais ...
Voir mon message précédent.

Serge

"ChrisV" a écrit dans le message de news:

Bonjour Serge,

http://disciplus.simplex.free.fr/xl/formats.htm#formatinutile

ou de LL (supprime les formats inutilisés...)

'L Longre, mpfe
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


ChrisV


"garnote" a écrit dans le message de news:
yEnZb.62361$
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas par cas :
1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge









Avatar
ChrisV
Bonjour Michel,

A part le Ctrl+F3 pour afficher la boîte de dialogue "Définir un nom", puis
Tab, Flèche bas (sélectionner le nom), Alt+S, Enter...


ChrisV


"Michel Gaboly" a écrit dans le message de news:

Salut, Serge,

A propos de suppression de noms, il existe un raccourci clavier
sur les versions Mac, qui permet de supprimer le nom sélectionné
dans la liste affcichée quand on choisit Insérer un nom.

C'est Commande (appelée également Pomme) + S

Il s'agit d'un vestige de l'époque lointaine où Commande + S dans
les menus correspondait à Supprimer, alors que dorénavant, et
depuis un paquet d'années, Commande + S, c'est le raccourci pour
enregistrer.


Y a t-il un raccourci dans les versions Windows pour supprimer
un nom ?



Tout de suite l'artillerie lourde !
J'imagine la mine de l'élève à qui je montre ça !
Non mais sans blague, comment se fait-il qu'on
ne puisse pas sélectionner une liste dans «Personnalisée» ?
(même niaiserie quand on veut supprimer des noms)
Un oubli de Microhard ou c'est d'une extrême complexité
à offrir comme option ?

:-)))

Serge

"Modeste" a écrit dans le message
de


news: 13afb01c3f7b5$f64d05d0$
;-)))
bonjour Serge....
Sans macro !!!
et pourquoi pas sans les mains pendant que tu y es ????
(Coluche parlait de cueillir les cerises sans la queue !!,
c'est déja difficile sans les mains....)

à quoi ça sert que le volatile se décarcasse :

Détruire les formats personnalisés inutilisés
Comment détruire de manière automatique (avec VBA) tous
les formats de cellule personnalisés
qui ne sont plus utilisés et qui engraissent
considérablement excel ?
Essaie le code suivant :

- 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.

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 '---------Laurent Longre

@+
-----Message d'origine-----
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas
par cas :

1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge



.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com






Avatar
Michel Gaboly
Salut, Serge,

A propos de suppression de noms, il existe un raccourci clavier
sur les versions Mac, qui permet de supprimer le nom sélectionné
dans la liste affcichée quand on choisit Insérer un nom.

C'est Commande (appelée également Pomme) + S

Il s'agit d'un vestige de l'époque lointaine où Commande + S dans
les menus correspondait à Supprimer, alors que dorénavant, et
depuis un paquet d'années, Commande + S, c'est le raccourci pour
enregistrer.


Y a t-il un raccourci dans les versions Windows pour supprimer
un nom ?



Tout de suite l'artillerie lourde !
J'imagine la mine de l'élève à qui je montre ça !
Non mais sans blague, comment se fait-il qu'on
ne puisse pas sélectionner une liste dans «Personnalisée» ?
(même niaiserie quand on veut supprimer des noms)
Un oubli de Microhard ou c'est d'une extrême complexité
à offrir comme option ?

:-)))

Serge

"Modeste" a écrit dans le message de
news: 13afb01c3f7b5$f64d05d0$
;-)))
bonjour Serge....
Sans macro !!!
et pourquoi pas sans les mains pendant que tu y es ????
(Coluche parlait de cueillir les cerises sans la queue !!,
c'est déja difficile sans les mains....)

à quoi ça sert que le volatile se décarcasse :

Détruire les formats personnalisés inutilisés
Comment détruire de manière automatique (avec VBA) tous
les formats de cellule personnalisés
qui ne sont plus utilisés et qui engraissent
considérablement excel ?
Essaie le code suivant :

- 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.

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 '---------Laurent Longre

@+
-----Message d'origine-----
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas
par cas :

1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge



.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
Modeste
;-)))
il faudra te méfier les liens retrouvé à partir de google
ne sont plus bon :
Erreur d'accès
Disciplus a migré en juin 2003 chez Excelabo. Vous
retrouverez toutes ses astuces pour excel et VBA (plus de
1300 !) et les classeurs exemples à télécharger (plus de
250) ainsi que les jeux sur http://www.excelabo.net

@+
-----Message d'origine-----
Bonjour Serge,

http://disciplus.simplex.free.fr/xl/formats.htm#formatinut
ile


ou de LL (supprime les formats inutilisés...)

'L Longre, mpfe
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


ChrisV


"garnote" a écrit dans le message de
news:

yEnZb.62361$
Bonjour,

Comment (sans macro) supprimer tous les
formats personnalisés (Format / Cellule / Personnalisée)
d'un classeur ?
Mon ignorance m'oblige, pour le moment, à le faire cas
par cas :


1. J'en sélectionne un,
2. Je clique sur Supprimer (pas de raccourci ?)
3. La sélection se déplace alors au début de la liste,
5. Je dois retourner en bas,
6. Et recommencer cet insignifiant manège.
Peut-on procéder plus intelligemment ?

Serge






.




Avatar
ChrisV
Ok, bien noté Chef !
;-)


ChrisV


"Modeste" a écrit dans le message de
news: 1402901c3f7c4$9f399e70$
;-)))
il faudra te méfier les liens retrouvé à partir de google
ne sont plus bon :
Erreur d'accès
Disciplus a migré en juin 2003 chez Excelabo. Vous
retrouverez toutes ses astuces pour excel et VBA (plus de
1300 !) et les classeurs exemples à télécharger (plus de
250) ainsi que les jeux sur http://www.excelabo.net

@+
Avatar
Daniel.M
Hello,

Un oubli de MS.
Il n'y a pas d'objet représentant une collection de formats associés à un
classeur (comme pour les Noms avec l'objet Names) .

Salutations,

Daniel M.

"garnote" wrote in message
news:JmoZb.62366$
Tout de suite l'artillerie lourde !
J'imagine la mine de l'élève à qui je montre ça !
Non mais sans blague, comment se fait-il qu'on
ne puisse pas sélectionner une liste dans «Personnalisée» ?
(même niaiserie quand on veut supprimer des noms)
Un oubli de Microhard ou c'est d'une extrême complexité
à offrir comme option ?

:-)))

Serge


Avatar
garnote
Alors, Ô grand cheuf, qu'attends-tu pour nous
en construire un ? Moi je n'ai pas assez de temps !!!

;-)))

Serge


"Daniel.M" a écrit dans le message de
news:
Hello,

Un oubli de MS.
Il n'y a pas d'objet représentant une collection de formats associés à un
classeur (comme pour les Noms avec l'objet Names) .

Salutations,

Daniel M.

"garnote" wrote in message
news:JmoZb.62366$
Tout de suite l'artillerie lourde !
J'imagine la mine de l'élève à qui je montre ça !
Non mais sans blague, comment se fait-il qu'on
ne puisse pas sélectionner une liste dans «Personnalisée» ?
(même niaiserie quand on veut supprimer des noms)
Un oubli de Microhard ou c'est d'une extrême complexité
à offrir comme option ?

:-)))

Serge






1 2