Macro Forme conditionnelle pour 10 condition
Fermé
GéGé la menace
-
24 févr. 2009 à 23:51
Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 - 25 févr. 2009 à 11:37
Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 - 25 févr. 2009 à 11:37
A voir également:
- Macro Forme conditionnelle pour 10 condition
- Mise en forme conditionnelle excel - Guide
- Clé windows 10 gratuit - Guide
- Windows 10 gratuit - Guide
- Macro word - Guide
- Winrar 64 bits windows 10 - Télécharger - Compression & Décompression
3 réponses
Mike-31
Messages postés
18337
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
27 septembre 2024
5 099
25 févr. 2009 à 00:21
25 févr. 2009 à 00:21
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 306
25 févr. 2009 à 08:36
25 févr. 2009 à 08:36
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
Mike-31
Messages postés
18337
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
27 septembre 2024
5 099
25 févr. 2009 à 11:37
25 févr. 2009 à 11:37
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+
25 févr. 2009 à 08:00
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