Remplacer toutes les cases de même couleur

Kenworth -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
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.

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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