Remplacer toutes les cases de même couleur

Kenworth -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour
Est-il possible de changer la couleur de toutes les cases de couleur identique, sans sélectionner chacune des cases, de tout le document, individuellement ?

Par exemple, si mon document Excel contient 500 cases séparées, de couleur bleu, et je veux les colorer en rouge, en demandant au logiciel, de changer tout ce qui est en bleu, en rouge.

Merci.
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

en vba avec une macro:

Sub For_Next_Plage()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Integer, Var As Variant
  Set FL1 = Worksheets("Feuil1")
     'Détermine la dernière ligne renseignée de la feuille de calculs
    DerLig = Split(FL1.UsedRange.Address, "$")(4)
      'Détermine la dernière colonne renseignée de la feuille de calculs
    DerCol = Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
     For NoLig = 1 To DerLig
        For NoCol = 1 To DerCol
            Var = FL1.Cells(NoLig, NoCol)
           If FL1.Cells(NoLig, NoCol).Interior.ColorIndex = 3 Then 'rouge
         FL1.Cells(NoLig, NoCol).Interior.ColorIndex = 10 ' vert
            End If
            Next
            Next
 End Sub


Il faut adapter le nom de la feuille et les codes couleurs

Pour connaitre le code couleur, voici une macro:

Sub couleur()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Integer, Var As Variant
  Set FL1 = Worksheets("Feuil1")
     'Détermine la dernière ligne renseignée de la feuille de calculs
    DerLig = Split(FL1.UsedRange.Address, "$")(4)
      'Détermine la dernière colonne renseignée de la feuille de calculs
    DerCol = Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
     For NoLig = 1 To DerLig
        For NoCol = 1 To DerCol
            Var = FL1.Cells(NoLig, NoCol)
           If Var = "" Then
           Else
        MsgBox FL1.Cells(NoLig, NoCol).Interior.ColorIndex
            End If
            Next
            Next
 End Sub


0