Formule conditionnelle et coloration cellules

raf'spi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
raf'spi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais savoir quelle est la syntaxe générale de la formule conditionnelle (avec =SI(...;...;...)) qui colore la cellule selon son contenu et le test logique ; exemple : je cherche à colorer C5 si elle est vide.
En même temps, existe-t-il une liste des noms et codes des couleurs ?

Je vous remercie d'avance, et bonne journée.
Configuration: Windows Vista
Excel 2007

5 réponses

  1. Foreverson Messages postés 244 Statut Membre 27
     
    Pour ton exemple, en C5, "Format"-> "mise en forme conditionnelle"->"la formule est"

    =C5="" puis tu mets la mise en forme voulue.
    Cela permet de faire le test logique, sans passer par "SI"

    Le "si" dans les formats conditionnels n'est pas très utilisé, enfin je crois...

    Pour la deuxième partie de ta question, je ne sais pas.
    3
  2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Tu travailles sous Excel 2007 et tu enregistres au format Excel 97-2003 ? C'est bien ça ?
    Alors la mise en forme conditionnelle marche, mais en se limitant à 3 conditions, donc 3 couleurs en plus de la couleur par défaut, ce qui t'autorise 4 possibilités.
    1
  3. raf'spi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci à vous deux, comme je suis distrait j'ai oublié de préciser que mon travail doit fonctionner sous Excel 2000 et que par conséquent la mise en forme conditionnelle sous Excel 2007 m'occasionne une vérif' de compatibilité.
    En plus, j'ai lu quelque part qu'une telle formule n'existait pas ou était impossible. C'est pas grave, par contre, si quelqu'un a développé une procédure VBA qui permet une boucle de vérification avec le test logique du genre "la cellule est vide donc cellule à colorer" sur une plage de cellules je suis preneur, car ça fait longtemps que je suis dessus, j'ai fait pas mal d'essais et je bloque sur le coloriage (de grâce, dites-moi que For Each convient !).
    A + et énormement merci pour vos suggestions présentes et futures !
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. raf'spi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
     
    J'ai trouvé une procédure VBA pour remplacer la formule, le hic c'est que je n'ai que deux couleurs avec elle et je ne suis pas expert en couleurs VBA pour modifier mes lignes s'y rapportant, mais si à tout hasard tu peux corriger juste les couleurs ça me servirait bien. Je te remercie de ton éclairage sur les MFC, je l'ignorais effectivement quoiqu'ayant beaucoup traîné sur les forums ces temps-ci.
    Voici mes procédures (la première serait en rouge, la deuxième en bleu clair) mais la formule Excel m'affiche #NOM si on ne double-clique pas dessus et on ne valide pas par Entrée (après elle renvoie bien le nombre de vides) :

    Public Sub CtrlCellulesP_click()
    Dim contenu As Boolean
    Dim Couleur As Long
    Dim nbreP As Integer
    Dim cell As Variant
    'contenu de l'aide "Exécution d'une boucle à l'intérieur d'une plage de cellules"
    'boucle de contrôle dans la plage C5 à C19
    For Each cell In Worksheets("Tableau Permanen. B TPB 2").Range("C5:C19").Cells
    If cell.Activate = "" Then
    contenu = False
    If contenu = False Then Set cell = Empty
    cell.Couleur = 200
    With cell.Interior
    .Color = Couleur
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    Worksheets("Tableau Permanen. B TPB 2").Range("E2:F2").Formula = "=NB.VIDE(C5:C19)"
    ElseIf cell.Activate <> "" Then
    contenu = True
    End If
    Next
    End Sub

    Public Sub CtrlCellulesS_click()
    Dim Couleur As Long
    Dim nbreS As Integer
    'contenu de l'aide "Exécution d'une boucle à l'intérieur d'une plage de cellules"
    'boucle de contrôle dans la plage D5 à D19
    For Each cell In Worksheets("Tableau Permanen. B TPB 2").Range("D5:D19").Cells
    If cell = "" Then
    Couleur = 255
    With cell.Interior
    .Color = Couleur
    .Pattern = xlSolid
    .PatternColor = RGB(0, 255, 0)
    .PatternColorIndex = xlAutomatic
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    Worksheets("Tableau Permanen. B TPB 2").Range("I2:J2").Formula = "=NB.VIDE(D5:D19)"
    Range("I2:J2") = nbreS
    End If
    Next
    End Sub
    0