Changer couleur police

Signaler
Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
12 octobre 2008
-
Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
12 octobre 2008
-
Bonjour


J'ai un onglet excel "LISTE" avec une liste de valeur en colonne A et en
colonne B des paramètres de couleur de cellule et couleur de police (genre fond rouge et police jaune en gras)

Dans mon autre onglet, je créé une liste déroulante et quand je
sélectionne une valeur, la cellule est automatiquement colorée en
fonction de la liste de mon onglet LISTE


Hors cela ne fonctionne pas pour la couleur de police ou le gras)

voici mon code :
Sub coloration(cellule)

On Error GoTo Fin

  For Each code In Application.Range("liste")

      If code.Value = cellule.Value Then

        cellule.Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex

        cellule.Interior.Pattern = code.Offset(0, 1).Interior.Pattern

        cellule.Interior.Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex

        Exit Sub

      End If

  Next

  cellule.Interior.ColorIndex = Application.Range("Nontrouvé").Interior.ColorIndex

Fin:

End Sub


Comment modifier pour appliquer la couleur de fond, la couleur de police et le gras (et éventuellement d'autres paramètres de cellule) ?

Comment appliquer ce changement, en fonction du choix de liste, sur toute la ligne plutôt que sur la cellule ?


Merci par avance pour votre aide

 

5 réponses

Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
12 octobre 2008

 Bingo

J'ai trouvé pour la couleur de texte :

Sub coloration(cellule)
On Error GoTo Fin
  For Each code In Application.Range("liste")
      If code.Value = cellule.Value Then
        cellule.Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        cellule.Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        cellule.Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Exit Sub
      End If
  Next
  cellule.Interior.ColorIndex = Application.Range("Nontrouvé").Interior.ColorIndex
Fin:
End Sub

Par contre je sèche sur l'application de ces paramètres sur ma ligne genre A1 à H1

Merci pour votre aide
 
Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
12 octobre 2008

AU SECOURS SVP

 
Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
12 octobre 2008

Bon ben j'ai fait cela en attendant de trouver mieux :

Sub coloration(cellule)
Dim numColonne As Integer, numLigne As Integer
numLigne = ActiveCell.Row
numColonne = ActiveCell.Column

On Error GoTo Fin
  For Each code In Application.Range("NATURE")
      If code.Value = cellule.Value Then
        Range("A" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("B" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("C" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("D" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("E" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("F" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("G" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("H" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("I" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("J" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("K" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("L" & numLigne).Interior.ColorIndex = code.Offset(0, 1).Interior.ColorIndex
        Range("A" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("B" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("C" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("D" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("E" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("F" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("G" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("H" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("I" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("J" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("K" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("L" & numLigne).Interior.Pattern = code.Offset(0, 1).Interior.Pattern
        Range("A" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("B" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("C" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("D" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("E" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("F" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("G" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("H" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("I" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("J" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("K" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("L" & numLigne).Font.ColorIndex = code.Offset(0, 1).Font.ColorIndex
        Range("A" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("B" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("C" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("D" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("E" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("F" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("G" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("H" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("I" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("J" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("K" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold
        Range("L" & numLigne).Font.Bold = code.Offset(0, 1).Font.Bold

        Exit Sub
      End If
  Next
  cellule.Interior.ColorIndex = Application.Range("Nontrouvé").Interior.ColorIndex
Fin:
End Sub

Si il y a une meilleure solution.......... merci par avance
 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
solution N° 1 : ouvrir la discussion dans le bon thème (VBA) et pas dans celui-ci (VB6).
Sinon, comme tu le vois, tu es en plein monologue ..
Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
12 octobre 2008

Bonjour

MDR, je n'avais pas fait attention. Comment déplacer en VBA pour ne plu parler seul ?

Merci