Macro Forme conditionnelle pour 10 condition
GéGé la menace
-
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je cherche comment changer la couleur d'une cellule en fonction de 10 conditions
avec une macro.
Si A7=0 Alors le Format de La Cellule est rouge
Si A7=1 " " " " " vert
Si A7=2 " " " " " jaune
Si A7=3 " " " " " orange
Si A7=4 " " " " " bleu
Si A7=5 " " " " " maron
Si A7=6 " " " " " noir
Si A7=7 " " " " " gris
Si A7=8 " " " " " rose
Si A7=9 " " " " " violet
Si A7=10 " " " " " blanc
Merci d'avance.
A+ GéGé
je cherche comment changer la couleur d'une cellule en fonction de 10 conditions
avec une macro.
Si A7=0 Alors le Format de La Cellule est rouge
Si A7=1 " " " " " vert
Si A7=2 " " " " " jaune
Si A7=3 " " " " " orange
Si A7=4 " " " " " bleu
Si A7=5 " " " " " maron
Si A7=6 " " " " " noir
Si A7=7 " " " " " gris
Si A7=8 " " " " " rose
Si A7=9 " " " " " violet
Si A7=10 " " " " " blanc
Merci d'avance.
A+ GéGé
A voir également:
- Macro Forme conditionnelle pour 10 condition
- Mise en forme conditionnelle excel - Guide
- Clé d'activation windows 10 - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Restauration systeme windows 10 - Guide
- Windows 10 ne démarre pas - Guide
3 réponses
Salut,
Je t'ai écrit le code pour le font de cellule et le texte, a toi de supprimer les ligne inutiles
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'condition 1
If Range("A7") = 0 Then 'colonne A
Range("A7").Font.ColorIndex = 3 'colonne A texte Rouge
Range("A7").Interior.ColorIndex = 3 'colonne B cellule rouge
'condition 2
ElseIf Range("A7") = 1 Then 'colonne A
Range("A7").Font.ColorIndex = 4 'colonne A texte vert
Range("A7").Interior.ColorIndex = 4 'colonne B cellule vert
'condition 3
ElseIf Range("A7") = 2 Then 'colonne A
Range("A7").Font.ColorIndex = 6 'colonne A texte jaune
Range("A7").Interior.ColorIndex = 6 'colonne B cellule jaune
'condition 4
ElseIf Range("A7") = 3 Then 'colonne A
Range("A7").Font.ColorIndex = 46 'colonne A texte orange
Range("A7").Interior.ColorIndex = 46 'colonne B cellule orange
'condition 5
ElseIf Range("A7") = 4 Then 'colonne A
Range("A7").Font.ColorIndex = 5 'colonne A texte bleu
Range("A7").Interior.ColorIndex = 5 'colonne B cellule bleu
'condition 6
ElseIf Range("A7") = 5 Then 'colonne A
Range("A7").Font.ColorIndex = 53 'colonne A texte marron
Range("A7").Interior.ColorIndex = 53 'colonne B cellule marron
'condition 7
ElseIf Range("A7") = 6 Then 'colonne A
Range("A7").Font.ColorIndex = 1 'colonne A texte noir
Range("A7").Interior.ColorIndex = 1 'colonne B cellule noir
'condition 8
ElseIf Range("A7") = 7 Then 'colonne A
Range("A7").Font.ColorIndex = 15 'colonne A texte gris
Range("A7").Interior.ColorIndex = 15 'colonne B cellule gris
'condition 9
ElseIf Range("A7") = 8 Then 'colonne A
Range("A7").Font.ColorIndex = 26 'colonne A texte rose
Range("A7").Interior.ColorIndex = 26 'colonne B cellule rose
'condition 10
ElseIf Range("A7") = 9 Then 'colonne A
Range("A7").Font.ColorIndex = 39 'colonne A texte violet
Range("A7").Interior.ColorIndex = 39 'colonne B cellule violet
'condition 11
ElseIf Range("A7") = 10 Then 'colonne A
Range("A7").Font.ColorIndex = 2 'colonne A texte blanc
Range("A7").Interior.ColorIndex = 2 'colonne B cellule blanc
End Sub
Bonne nuit
Je t'ai écrit le code pour le font de cellule et le texte, a toi de supprimer les ligne inutiles
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'condition 1
If Range("A7") = 0 Then 'colonne A
Range("A7").Font.ColorIndex = 3 'colonne A texte Rouge
Range("A7").Interior.ColorIndex = 3 'colonne B cellule rouge
'condition 2
ElseIf Range("A7") = 1 Then 'colonne A
Range("A7").Font.ColorIndex = 4 'colonne A texte vert
Range("A7").Interior.ColorIndex = 4 'colonne B cellule vert
'condition 3
ElseIf Range("A7") = 2 Then 'colonne A
Range("A7").Font.ColorIndex = 6 'colonne A texte jaune
Range("A7").Interior.ColorIndex = 6 'colonne B cellule jaune
'condition 4
ElseIf Range("A7") = 3 Then 'colonne A
Range("A7").Font.ColorIndex = 46 'colonne A texte orange
Range("A7").Interior.ColorIndex = 46 'colonne B cellule orange
'condition 5
ElseIf Range("A7") = 4 Then 'colonne A
Range("A7").Font.ColorIndex = 5 'colonne A texte bleu
Range("A7").Interior.ColorIndex = 5 'colonne B cellule bleu
'condition 6
ElseIf Range("A7") = 5 Then 'colonne A
Range("A7").Font.ColorIndex = 53 'colonne A texte marron
Range("A7").Interior.ColorIndex = 53 'colonne B cellule marron
'condition 7
ElseIf Range("A7") = 6 Then 'colonne A
Range("A7").Font.ColorIndex = 1 'colonne A texte noir
Range("A7").Interior.ColorIndex = 1 'colonne B cellule noir
'condition 8
ElseIf Range("A7") = 7 Then 'colonne A
Range("A7").Font.ColorIndex = 15 'colonne A texte gris
Range("A7").Interior.ColorIndex = 15 'colonne B cellule gris
'condition 9
ElseIf Range("A7") = 8 Then 'colonne A
Range("A7").Font.ColorIndex = 26 'colonne A texte rose
Range("A7").Interior.ColorIndex = 26 'colonne B cellule rose
'condition 10
ElseIf Range("A7") = 9 Then 'colonne A
Range("A7").Font.ColorIndex = 39 'colonne A texte violet
Range("A7").Interior.ColorIndex = 39 'colonne B cellule violet
'condition 11
ElseIf Range("A7") = 10 Then 'colonne A
Range("A7").Font.ColorIndex = 2 'colonne A texte blanc
Range("A7").Interior.ColorIndex = 2 'colonne B cellule blanc
End Sub
Bonne nuit
Bonjour,
D3:H13 est le tableau (pour exemple) , tu choisis les coordonnées dont tu as besoin
pour les couleurs, je te joins un tableau que tu pourras utiliser à l'avenir...
http://www.cijoint.fr/cjlink.php?file=cj200902/cijfrxTpNP.xls
macro à terminer avec tes couleurs désirées (évite les " elself" lents et lourds)
D3:H13 est le tableau (pour exemple) , tu choisis les coordonnées dont tu as besoin
pour les couleurs, je te joins un tableau que tu pourras utiliser à l'avenir...
http://www.cijoint.fr/cjlink.php?file=cj200902/cijfrxTpNP.xls
macro à terminer avec tes couleurs désirées (évite les " elself" lents et lourds)
Sub colorier_tableau()
Dim tablo As Range
Set tablo = Range("D3:H13")
With tablo
Select Case Range("A7")
Case Is = 0
.Interior.ColorIndex = 3
Case Is = 1
.Interior.ColorIndex = 4
'etc...
End Select
End With
Set tablo = Nothing
End Sub
Bonjour à vous,
Pour appliquer les conditions à un tableau de plusieur lignes et colonnes,
Commences par mettre ton tableau en surbrillance et tu le nommes, dans ce cas tu devras modifier le code
Pour utiliser mon code en l'état nommes ton tableau Tableau en respectant la majuscule et colles ce code dans le code Feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Tabl As Range
Dim Cellule As Variant
For Each Cellule In Range("Tableau")
'condition 1
If Cellule = 0 Then
Cellule.Interior.ColorIndex = 3
'condition 2
ElseIf Cellule = 1 Then
Cellule.Interior.ColorIndex = 4
'condition 3
ElseIf Cellule = 2 Then
Cellule.Interior.ColorIndex = 6
'condition 4
ElseIf Cellule = 3 Then
Cellule.Interior.ColorIndex = 46
'condition 5
ElseIf Cellule = 4 Then
Cellule.Interior.ColorIndex = 5
'condition 6
ElseIf Cellule = 5 Then
Cellule.Interior.ColorIndex = 53
'condition 7
ElseIf Cellule = 6 Then
Cellule.Interior.ColorIndex = 1
'condition 8
ElseIf Cellule = 7 Then
Cellule.Interior.ColorIndex = 15
'condition 9
ElseIf Cellule = 8 Then
Cellule.Interior.ColorIndex = 26
'condition 10
ElseIf Cellule = 9 Then
Cellule.Interior.ColorIndex = 39
'condition 11
ElseIf Cellule = 10 Then
Cellule.Interior.ColorIndex = 2
Next Cellule
End Sub
avec ce code, ton tableau sera rouge parce que vide est considéré comme 0 enfin testes le et on en reparle
A+
Pour appliquer les conditions à un tableau de plusieur lignes et colonnes,
Commences par mettre ton tableau en surbrillance et tu le nommes, dans ce cas tu devras modifier le code
Pour utiliser mon code en l'état nommes ton tableau Tableau en respectant la majuscule et colles ce code dans le code Feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Tabl As Range
Dim Cellule As Variant
For Each Cellule In Range("Tableau")
'condition 1
If Cellule = 0 Then
Cellule.Interior.ColorIndex = 3
'condition 2
ElseIf Cellule = 1 Then
Cellule.Interior.ColorIndex = 4
'condition 3
ElseIf Cellule = 2 Then
Cellule.Interior.ColorIndex = 6
'condition 4
ElseIf Cellule = 3 Then
Cellule.Interior.ColorIndex = 46
'condition 5
ElseIf Cellule = 4 Then
Cellule.Interior.ColorIndex = 5
'condition 6
ElseIf Cellule = 5 Then
Cellule.Interior.ColorIndex = 53
'condition 7
ElseIf Cellule = 6 Then
Cellule.Interior.ColorIndex = 1
'condition 8
ElseIf Cellule = 7 Then
Cellule.Interior.ColorIndex = 15
'condition 9
ElseIf Cellule = 8 Then
Cellule.Interior.ColorIndex = 26
'condition 10
ElseIf Cellule = 9 Then
Cellule.Interior.ColorIndex = 39
'condition 11
ElseIf Cellule = 10 Then
Cellule.Interior.ColorIndex = 2
Next Cellule
End Sub
avec ce code, ton tableau sera rouge parce que vide est considéré comme 0 enfin testes le et on en reparle
A+
Mais je suis désolé j'ai mal formulé ma question,( déjà ca, ca me convient très bien), mais comment je peut faire pour appliquer cette condition dans un tableau "classique" de 7 colonnes et 20 lignes par exemple ? sans faire copier coller et corriger dans Visual Basic pour chaque cellule du tableau.
encors désolé
A+ et Bonne Journée
merci