Changer la couleur d'un texte, si

Phil67 -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
je vous remercie de me donner la formule VBA pour changer automatiquement la couleur d'un texte dans une cellule EXCEL, B7, si 2 conditions sont remplies : l'une en B4 et l'autre en B6 :
B4, B6, B7 sont dans la feuille "CARTE"
si B6 = C16 dans la feuille "Légende"
Si B7 = B4
couleur des charactères B7= Blanc

Merci beaucoup
Phil
Configuration: Windows XP / Internet Explorer 8.0

3 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    voilà un exemple :

    If Worksheets("CARTE").Range("B6").Value = Worksheets("Légende").Range("C16").Value Then
            If Worksheets("CARTE").Range("B7").Value = Worksheets("CARTE").Range("B4").Value Then
                Worksheets("CARTE").Range("B7").Font.Color = vbWhite
            End If
        End If


    ;o)
    0
  2. Philieb
     
    depuis la semaine dernière j'ai beaucoup travaillé à partir de ta réponse dont je te remercie beaucoup.
    J'étais novice, j'ai un peu progressé pour arriver à cette procédure qui ne semble pas avoir de bug mais qui ne fonctionne pas, où est l'erreur ? je l'ai mise dans this workbook en vain!
    Si tu comprends mon objectif merci de tes conseils.
    "plus VBA tu moulineras, plus intelligent tu seras"

    Option Explicit
    'Classeur commande repas.xls
    'au changement de feuille active vers la feuille "CARTE"
    'la macro "MENU" s'exécute automatiquement dans la cellule nommée "ENTREE"

    Private Sub ActiveSheet_Change(ByVal Target As Range)
    If Target.Address = Worksheets("CARTE").Range("ENTREE") Then
    Range("ENTREE") = Application.Run("commande repas.xls!MENU")
    End If
    End Sub
    Sub MENU()
    '
    ' MENU Macro
    'La cellule "ENTREE" = le contenu des cellules L5c3,L10c3,L15c3,L20c3 de la feuille "MENU"
    'selon que le contenu de la cellule "REGIME" = à la cellule L3C3 de la feuille "PLAN"
    '(qui contient un élément de la liste déroulante = cellules L3c3, L4c3,L5c3, L6c3 de la feuille "Légende")

    'et si la cellule L7c3 de la feuille "CARTE" = Potage ( ou L3c5 de la feuille "Plan", liste déroulante de la feuille"légende")
    'alors la police du texte de la cellule L7c2 de la feuille "CARTE" = blanc ou noir si faux

    If Cells("REGIME") = Worksheets("Légende").Cells(3, 3) Then
    Cells("ENTREE") = Worksheets("MENU").Cells(5, 3)
    End If
    If Cells("REGIME") = Worksheets("Légende").Cells(4, 3) Then
    Cells("ENTREE") = Worksheets("MENU").Cells(10, 3)
    End If
    If Cells("REGIME") = Worksheets("Légende").Cells(5, 3) Then
    Cells("ENTREE") = Worksheets("MENU").Cells(15, 3)
    End If
    If Cells("REGIME") = Worksheets("Légende").Cells(6, 3) Then
    Cells("ENTREE") = Worksheets("MENU").Cells(20, 3)
    End If
    If Worksheets("CARTE").Cells(7, 3) = Worksheets("Légende").Cells(12, 3) Then
    Worksheets("CARTE").Cells("ENTREE").Font.ColorIndex = 2
    ElseIf Worksheets("CARTE").Cells(7, 3) = False Then
    Worksheets("CARTE").Cells("ENTREE").Font.ColorIndex = 1
    End If
    End Sub
    0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Ce code doit être placé dans l'éditeur VB de la feuille concernée ...

    Tu ouvres l'éditeur VB, en haut à gauche tu as une sorte d'arborescence avec les feuilles. Tu doubles cliques sur la feuille concernée et tu y colles le code.

    ;o)
    0