Colorier une cellule...

Résolu
r4944 Messages postés 136 Statut Membre -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,

Voici mon code qui me permet de vérifier des champs qui doivent être remplis aussi la vérification d'autres conditions avant qu'il mette un xx dans la cellule 42 si toutes les conditions sont vraies

je voulais savoir comment faire pour colorier si il y'a une ou plusierus cellules vides parmis cette selection (Range("A:H, J:R").) et envoyer un message d'erreur .

Merci
     For q = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
Set MaPlage = Range("A:H, J:R").Rows(q)
If CStr(ActiveSheet.Cells(q, 31).Value) = "Completed - Appointment made / Complété - Nomination faite" _
And WorksheetFunction.CountIf(MaPlage, "") = 0 Then
Select Case UCase(ActiveSheet.Cells(q, 14).Value)
Case "INA_CIN"

ActiveSheet.Cells(q, 42).Value = "XX"
End Select

End If
Next q

3 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    1
    1. r4944 Messages postés 136 Statut Membre
       
      salut , je l'ai essayé ca marche pas vraiment , je voulais juste colorier les cellules qui sont vides parmi cette selection de rangées

       Set MaPlage = Range("A:H, J:R").Rows(q)
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Avec une petite adaptation:

    Sub test()
     Dim Col As Range, C As Range
    For Each Col In Range("A1:A10").Columns ' a adapter
      For Each C In Col.Cells
      If C.Value = "" Then
      C.Interior.ColorIndex = 3
      End If
      Next
     Next
     End Sub
    
    et ça fonctionne!!!
    


    1
    1. r4944 Messages postés 136 Statut Membre
       
      est ce que je peux faire ('' A & q , H & q '')
      0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Excuse pour le retard, j'étais sur d'autres projets.

    Je ne vais pas corriger ce code qui n'est pas de moi, je te propose un code qui va parcourir les colonnes A, H, J et R et colorier les cellules vides en rouge (tu peux modifier la couleur) . Je pense que c'est cela que tu désires.
    Je reprends donc mon code avec la sélection des colonnes:

    Sub test()
     Dim Col As Range, C As Range
     Dim n As Long
     n = Range("R65536").End(xlUp).Row 'dernière ligne, a adapter à la colonne la plus remplie ici la R
    For Each Col In Range("A1:A" & n & ",H1:H" & n & ",J1:J" & n & ",R1:r" & n & "").Columns ' a adapter
      For Each C In Col.Cells
      If C.Value = "" Then
      C.Interior.ColorIndex = 3 'a adapter le couleur
      End If
      Next
     Next
     End Sub
    


    1