Remplacer toutes les cases de même couleur

Fermé
Kenworth - 24 janv. 2017 à 22:46
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 25 janv. 2017 à 09:23
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
25 janv. 2017 à 09:23
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