Remplacement des formats de cellule (Microsoft Excel)
David doit rechercher et modifier chaque occurrence d’un format de cellule spécifique dans un classeur à plusieurs feuilles de calcul. Par exemple, il peut avoir besoin de rechercher toutes les cellules qui sont formatées en tant que devise et de modifier ce format en général. Il se demande comment accomplir la tâche.
La meilleure façon de réaliser cette tâche dépend de la version d’Excel que vous utilisez. Si vous utilisez Excel 2003, vous pouvez simplement utiliser l’outil Rechercher et remplacer d’Excel pour effectuer la modification. Suivez ces étapes:
-
Appuyez sur Ctrl + H. Excel affiche l’onglet Remplacer de la boîte de dialogue Rechercher et remplacer.
-
Cliquez sur le bouton Options, si nécessaire, pour agrandir la boîte de dialogue.
(Voir la figure 1.)
-
Cliquez sur le bouton Format à droite de la ligne Rechercher. Excel affiche la boîte de dialogue Rechercher un format.
-
Assurez-vous que l’onglet Numéro est affiché. (Voir la figure 2.)
-
Utilisez les commandes de la boîte de dialogue pour spécifier le format à rechercher.
-
Cliquez sur OK pour fermer la boîte de dialogue Rechercher une police.
-
Cliquez sur le bouton Format à droite de la ligne Remplacer par. Excel affiche la boîte de dialogue Remplacer le format.
-
Assurez-vous que l’onglet Numéro est affiché.
-
Utilisez les commandes de la boîte de dialogue pour spécifier le format que vous souhaitez utiliser comme remplacement.
-
Cliquez sur OK pour fermer la boîte de dialogue Remplacer la police.
-
Utilisez la liste déroulante Dans pour choisir Classeur.
-
Cliquez sur Remplacer tout.
Si vous utilisez une ancienne version d’Excel, l’outil Rechercher et remplacer ne vous permet pas de rechercher ou de remplacer la mise en forme. Au lieu de cela, vous devez utiliser une macro pour effectuer les modifications. Voici un exemple de macro qui parcourt simplement toutes les cellules utilisées dans le classeur et définit tous les formats sur Général.
Sub FormatGeneral() Dim iSht As Integer Dim rng As Range For iSht = 1 To Sheets.Count Set rng = Worksheets(iSht).UsedRange With rng .NumberFormat = "General" End With Next End Sub
Si vous souhaitez être un peu plus sélectif dans les formats remplacés, vous devrez vérifier le format existant des cellules au fur et à mesure que vous les parcourez. Par exemple, la macro suivante recherche toutes les cellules mises en forme en tant que devise, puis modifie uniquement ces cellules en un format général.
Sub CurrencyToGeneral() Dim iSht As Integer Dim rng As Range Dim c As Range For iSht = 1 To Sheets.Count For Each c In Worksheets(iSht).UsedRange.Cells If c.NumberFormat = "$#,##0.00" Then c.NumberFormat = "General" End If Next c Next End Sub
Si vous souhaitez rendre la macro encore plus flexible, vous pouvez lui demander de cliquer sur une cellule qui utilise le format que vous souhaitez rechercher, puis de cliquer sur une cellule qui utilise le format dans lequel vous souhaitez modifier ces cellules.
Public Sub UpdateFormats() Dim rFind As Range Dim rReplace As Range Dim rNextCell As Range Dim sNewFormat As String Dim sOldFormat As String Dim ws As Worksheet On Error Resume Next ' Determine the old format Do Set rFind = Application.InputBox( _ prompt:="Select a cell that uses the format " & _ "for which you want to search", _ Type:=8) If rFind Is Nothing Then If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then Exit Sub ElseIf InStr(1, rFind.Address, ":", vbTextCompare) > 0 Then MsgBox "Please select only one cell." Set rFind = Nothing End If End If Loop Until Not rFind Is Nothing sOldFormat = rFind.NumberFormat ' Determine the new format Do Set rReplace = Application.InputBox( _ prompt:="Select a cell using the new format", _ Type:=8) If rReplace Is Nothing Then If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then Exit Sub ElseIf InStr(1, rReplace.Address, ":", vbTextCompare) > 0 Then MsgBox "Please select only one cell." Set rReplace = Nothing End If End If Loop Until Not rReplace Is Nothing sNewFormat = rReplace.NumberFormat ' Do the replacing For Each ws In ActiveWorkbook.Worksheets For Each rNextCell In ws.UsedRange If rNextCell.NumberFormat = sOldFormat Then rNextCell.NumberFormat = sNewFormat End If Next rNextCell Next ws MsgBox "The selected format has been changed." End Sub
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (9865) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
link: / excelribbon-Replacing_Cell_Formats [Remplacement des formats de cellule]
.