Colorier cellules vides sous conditions

Bonjour,

J'aimerai savoir comment faire pour colorier toutes les cellules vides sur trois colonne mais uniquement celles qui sont sous un "1" et ou il n'y a pas d'autre "1" sur la même ligne. Je vous joins un fichier pour mieux comprendre et merci pour votre aide !

https://www.cjoint.com/c/HLChMK8CmRg

4 réponses

  1. Bonjour

    Difficile par MFC, en tout cas je n'ai pas trouvé
    Possible par macro
    Copier la macro ci-dessous et la coller dans un module de l'éditeur VBA(ALT+F11 pour ouvrir éditeur - Insertion - Module) puis la lancer depuis l'onglet Développeur - Macros du ruban
    Sub couleur()
    
    For t = 13 To 15
    a = 2
    For n = 2 To 26
    If Cells(n - 1, t) = 1 Then a = 1
    If Application.WorksheetFunction.Count(Range("M" & n & ":" & "O" & n)) = 1 Then a = 2
     Cells(n, t).Select
    If a = 1 Then Selection.Interior.Color = 65535 Else Selection.Interior.Pattern = xlNone
    Next
    Next
    
    For t = 16 To 18
    a = 2
    For n = 2 To 26
    If Cells(n - 1, t) = 1 Then a = 1
    If Application.WorksheetFunction.Count(Range("P" & n & ":" & "R" & n)) = 1 Then a = 2
     Cells(n, t).Select
    If a = 1 Then Selection.Interior.Color = 65535 Else Selection.Interior.Pattern = xlNone
    Next
    Next
    
    For t = 19 To 21
    a = 2
    For n = 2 To 26
    If Cells(n - 1, t) = 1 Then a = 1
    If Application.WorksheetFunction.Count(Range("S" & n & ":" & "U" & n)) = 1 Then a = 2
     Cells(n, t).Select
    If a = 1 Then Selection.Interior.Color = 65535 Else Selection.Interior.Pattern = xlNone
    Next
    Next
    End Sub

    Cdlmnt
    Via
    1
    1. Bonjour, merci beaucoup cela fonctionne bien plus qu'a l'adapter !
      0
      1. Par contre je vais devoir l'applique à 31 groupe de 3 colonne ... Il n'y a pas de moyen pour boucler plus vite ?
        0
        1. Remplace 13 dans la macro par la 1ere colonne de la plage à traiter et 19 par la première colonne du dernier groupe de 3
          Sub couleur()
          
          For t = 13 To 19 Step 3
          For g = 0 To 2
          a = 2
          For n = 2 To 26
          If Cells(n - 1, t + g) = 1 Then a = 1
          If Application.WorksheetFunction.Count(Range(Cells(n, t), Cells(n, t + 2))) = 1 Then a = 2
           Cells(n, t + g).Select
          If a = 1 Then Selection.Interior.Color = 65535 Else Selection.Interior.Pattern = xlNone
          Next
          Next
          Next
          End Sub

          0