j'ai un fichier xls avec plusieurs onglets.
Le texte dans certaines cellules de plusieurs onglets est en police en
italique, normal, bleu.
J'aimerai le changer en police normal, gras, noir.
Peut-on faire une mise en forme conditionnelle ? Je sais que =E7a marche
en fonction de la valeur de la cellule. Mais est-ce que =E7a marche
aussi en fonction du format de la police ?
Sinon, est-ce que vous auriez une id=E9e de code vba ?
Toutes les id=E9es sont les bienvenues.=20
Merci par avance.=20
Oui. Je fais qq macro assez simples. Pourquoi ? Tu verrais plutôt une macro ?
michdenis
Bonjour Richard,
Dans un module standard de ton classeur copie la procédure suivante :
La procédure va transformer toutes les cellules de toutes les feuilles de ton classeur qui ont ces caractéristiques : Police en italic, bleu , gras en Police normal , noir , gras
'-------------------------------- Sub TrouverFormat()
Dim Rg As Range, Sh As Worksheet Dim LeCellFormat As CellFormat On Error Resume Next Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques 'du format de cellule recherché. With LeCellFormat .Clear 'S'assurer d'effacer les critères 'des anciennes recherches .Font.Italic = True .Font.Bold = True .Font.Color = vbBlue End With
'Détermine la plage de cellules où s'effectue 'la recherche
For Each Sh In Worksheets With Sh Set Rg = .UsedRange End With
'Trouve la cellule ayant le bon format pour 'y effectuer une ou des opérations quelconques... With Rg Set C = .Find(What:="", SearchFormat:=True) If Not C Is Nothing Then adr = C.Address Do 'Le code que tu veux exécuter avec la cellule trouvée With C.Font .Italic = False .Color = vbBlack End With 'pour passer à la cellule suivante ... Set C = .Find(What:="", after:¬tiveCell, SearchFormat:=True) Loop Until C Is Nothing Or C.Address = adr End If End With Next Set Rg = Nothing: Set Sh = Nothing End Sub '--------------------------------
Salutations!
"Richard G." a écrit dans le message de news: Bonjour à tous,
j'ai un fichier xls avec plusieurs onglets. Le texte dans certaines cellules de plusieurs onglets est en police en italique, normal, bleu. J'aimerai le changer en police normal, gras, noir.
Peut-on faire une mise en forme conditionnelle ? Je sais que ça marche en fonction de la valeur de la cellule. Mais est-ce que ça marche aussi en fonction du format de la police ? Sinon, est-ce que vous auriez une idée de code vba ?
Toutes les idées sont les bienvenues. Merci par avance.
A+
Bonjour Richard,
Dans un module standard de ton classeur copie la procédure suivante :
La procédure va transformer toutes les cellules de toutes les feuilles de ton classeur qui ont ces caractéristiques :
Police en italic, bleu , gras en Police normal , noir , gras
'--------------------------------
Sub TrouverFormat()
Dim Rg As Range, Sh As Worksheet
Dim LeCellFormat As CellFormat
On Error Resume Next
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Font.Italic = True
.Font.Bold = True
.Font.Color = vbBlue
End With
'Détermine la plage de cellules où s'effectue
'la recherche
For Each Sh In Worksheets
With Sh
Set Rg = .UsedRange
End With
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
With C.Font
.Italic = False
.Color = vbBlack
End With
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:¬tiveCell, SearchFormat:=True)
Loop Until C Is Nothing Or C.Address = adr
End If
End With
Next
Set Rg = Nothing: Set Sh = Nothing
End Sub
'--------------------------------
Salutations!
"Richard G." <jamesTcarville@yahoo.fr> a écrit dans le message de news: 1129732453.581920.201350@g14g2000cwa.googlegroups.com...
Bonjour à tous,
j'ai un fichier xls avec plusieurs onglets.
Le texte dans certaines cellules de plusieurs onglets est en police en
italique, normal, bleu.
J'aimerai le changer en police normal, gras, noir.
Peut-on faire une mise en forme conditionnelle ? Je sais que ça marche
en fonction de la valeur de la cellule. Mais est-ce que ça marche
aussi en fonction du format de la police ?
Sinon, est-ce que vous auriez une idée de code vba ?
Toutes les idées sont les bienvenues.
Merci par avance.
Dans un module standard de ton classeur copie la procédure suivante :
La procédure va transformer toutes les cellules de toutes les feuilles de ton classeur qui ont ces caractéristiques : Police en italic, bleu , gras en Police normal , noir , gras
'-------------------------------- Sub TrouverFormat()
Dim Rg As Range, Sh As Worksheet Dim LeCellFormat As CellFormat On Error Resume Next Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques 'du format de cellule recherché. With LeCellFormat .Clear 'S'assurer d'effacer les critères 'des anciennes recherches .Font.Italic = True .Font.Bold = True .Font.Color = vbBlue End With
'Détermine la plage de cellules où s'effectue 'la recherche
For Each Sh In Worksheets With Sh Set Rg = .UsedRange End With
'Trouve la cellule ayant le bon format pour 'y effectuer une ou des opérations quelconques... With Rg Set C = .Find(What:="", SearchFormat:=True) If Not C Is Nothing Then adr = C.Address Do 'Le code que tu veux exécuter avec la cellule trouvée With C.Font .Italic = False .Color = vbBlack End With 'pour passer à la cellule suivante ... Set C = .Find(What:="", after:¬tiveCell, SearchFormat:=True) Loop Until C Is Nothing Or C.Address = adr End If End With Next Set Rg = Nothing: Set Sh = Nothing End Sub '--------------------------------
Salutations!
"Richard G." a écrit dans le message de news: Bonjour à tous,
j'ai un fichier xls avec plusieurs onglets. Le texte dans certaines cellules de plusieurs onglets est en police en italique, normal, bleu. J'aimerai le changer en police normal, gras, noir.
Peut-on faire une mise en forme conditionnelle ? Je sais que ça marche en fonction de la valeur de la cellule. Mais est-ce que ça marche aussi en fonction du format de la police ? Sinon, est-ce que vous auriez une idée de code vba ?
Toutes les idées sont les bienvenues. Merci par avance.
A+
Richard G.
Merci chef. Quand je lance le code, le débogueur affiche pour Dim LeCellFormat As CellFormat "type défini par l'utilistauer non défini " Hein ? No comprendo. Tu vois ce que c'est ?
Merci par avance.
A+
Merci chef.
Quand je lance le code, le débogueur affiche pour Dim LeCellFormat As
CellFormat
"type défini par l'utilistauer non défini "
Hein ? No comprendo.
Tu vois ce que c'est ?
Merci chef. Quand je lance le code, le débogueur affiche pour Dim LeCellFormat As CellFormat "type défini par l'utilistauer non défini " Hein ? No comprendo. Tu vois ce que c'est ?
Merci par avance.
A+
michdenis
Bonjour Richard,
Quel est la version de ton application Excel ? 97 ou 2000 ?
Ce type de procédure devrait fonctionner pour excel 2002 et 2003. Pour la version 2000... je ne sais pas. Mais je serais très surpris que cela soit disponible pour la version 97.
Salutations!
"Richard G." a écrit dans le message de news: Merci chef. Quand je lance le code, le débogueur affiche pour Dim LeCellFormat As CellFormat "type défini par l'utilistauer non défini " Hein ? No comprendo. Tu vois ce que c'est ?
Merci par avance.
A+
Bonjour Richard,
Quel est la version de ton application Excel ? 97 ou 2000 ?
Ce type de procédure devrait fonctionner pour excel 2002 et 2003. Pour la version 2000... je ne sais pas. Mais je serais très
surpris que cela soit disponible pour la version 97.
Salutations!
"Richard G." <jamesTcarville@yahoo.fr> a écrit dans le message de news: 1129735341.241944.308310@z14g2000cwz.googlegroups.com...
Merci chef.
Quand je lance le code, le débogueur affiche pour Dim LeCellFormat As
CellFormat
"type défini par l'utilistauer non défini "
Hein ? No comprendo.
Tu vois ce que c'est ?
Quel est la version de ton application Excel ? 97 ou 2000 ?
Ce type de procédure devrait fonctionner pour excel 2002 et 2003. Pour la version 2000... je ne sais pas. Mais je serais très surpris que cela soit disponible pour la version 97.
Salutations!
"Richard G." a écrit dans le message de news: Merci chef. Quand je lance le code, le débogueur affiche pour Dim LeCellFormat As CellFormat "type défini par l'utilistauer non défini " Hein ? No comprendo. Tu vois ce que c'est ?
Tu as ceci bien que le traitement soit beaucoup plus long si ta plage dans chaque feuille est grande :
'----------------------------------- Sub RemplacerFormat() Dim Sh As Worksheet Application.ScreenUpdating = False For Each Sh In Worksheets For Each C In Sh.UsedRange.SpecialCells(xlCellTypeConstants) With C.Font If .Italic = True And .Bold = True And .Color = vbBlue Then .Italic = False: .Color = vbBlack End If End With Next Next Set Sh = Nothing End Sub '-----------------------------------
Salutations!
"Richard G." a écrit dans le message de news: Excel 2000. Je ne comprends pas non plus.
Bonjour Richard,
Tu as ceci bien que le traitement soit beaucoup plus long si ta plage dans chaque feuille est grande :
'-----------------------------------
Sub RemplacerFormat()
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In Worksheets
For Each C In Sh.UsedRange.SpecialCells(xlCellTypeConstants)
With C.Font
If .Italic = True And .Bold = True And .Color = vbBlue Then
.Italic = False: .Color = vbBlack
End If
End With
Next
Next
Set Sh = Nothing
End Sub
'-----------------------------------
Salutations!
"Richard G." <jamesTcarville@yahoo.fr> a écrit dans le message de news: 1129736318.348010.230330@g14g2000cwa.googlegroups.com...
Excel 2000.
Je ne comprends pas non plus.
Tu as ceci bien que le traitement soit beaucoup plus long si ta plage dans chaque feuille est grande :
'----------------------------------- Sub RemplacerFormat() Dim Sh As Worksheet Application.ScreenUpdating = False For Each Sh In Worksheets For Each C In Sh.UsedRange.SpecialCells(xlCellTypeConstants) With C.Font If .Italic = True And .Bold = True And .Color = vbBlue Then .Italic = False: .Color = vbBlack End If End With Next Next Set Sh = Nothing End Sub '-----------------------------------
Salutations!
"Richard G." a écrit dans le message de news: Excel 2000. Je ne comprends pas non plus.