Excel mise en forme conditionnelle en vba

Fermé
winkel Messages postés 6 Date d'inscription lundi 13 octobre 2008 Statut Membre Dernière intervention 17 octobre 2008 - 15 oct. 2008 à 08:56
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 - 15 oct. 2008 à 13:04
Bonjour à tous,

J'ai des mise en formes conditionelles différentes sur plusieurs feuilles. Elles marches bien, mais dès que je fais des copier/coller ou deplacements je perds les mise en formes.
Ma question:

peut-on en vba dire pour une feuille particulière faire =>:

si les valeurs de "F5 à F34"
est supérieur à "F4" => mettre la cel en rouge et la valeur gras+blanc
est inférieur à "F4/2" => mettre la val. en rouge+gras

la même chose pour les col.

si les valeurs de "G5 à G34"
est supérieur à "G4" => mettre la cel en rouge et la valeur gras+blanc
est inférieur à "G4/2" => mettre la val. en rouge+gras

Jusquà "AAE"

Merci à +
A voir également:

4 réponses

g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 572
15 oct. 2008 à 11:55

1
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 572
15 oct. 2008 à 09:05
Bonjour,

Tu trouveras un exemple sur http://gerard.g.pagesperso-orange.fr/logexl_09.htm#mise_forme_cond

Bonne journée.
0
winkel Messages postés 6 Date d'inscription lundi 13 octobre 2008 Statut Membre Dernière intervention 17 octobre 2008
15 oct. 2008 à 09:37
Merci,

Très sympa ce lien à garder en mémoire (pour tous)

C'est preesque ca. Mais si tu modifies la valeur de "F4" la mise en forme ne marche pas?

Merci
0
winkel Messages postés 6 Date d'inscription lundi 13 octobre 2008 Statut Membre Dernière intervention 17 octobre 2008
15 oct. 2008 à 12:30
T'es un chef, ca marche d'enfer.


Grand merci
0
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 572
15 oct. 2008 à 13:04
ReBonjour,

Je poste à nouveau le code qui te convient.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 5 To 34 'rangées de 5 à 34
'condition 1
If Range("F" & i) > Range("F4") Then 'colonne F
Range("F" & i).Interior.ColorIndex = 3 'colonne F fond Rouge
Range("F" & i).Font.ColorIndex = 2 'colonne F texte blanc
Range("F" & i).Font.FontStyle = "gras" 'colonne F texte gras
'condition 2
ElseIf Range("F" & i) < Range("F4") / 2 Then 'colonne F
Range("F" & i).Font.ColorIndex = 3 'colonne F texte rouge
Range("F" & i).Font.FontStyle = "gras" 'colonne F texte gras
'Pour annuler la couleur des cellules modifiées
ElseIf Range("F" & i) < Range("F4") Then 'colonne F
Range("F" & i).Interior.ColorIndex = xlNone 'colonne F cellule sans couleur
Range("F" & i).Font.ColorIndex = xlAutomatic 'colonne F texte auto
Range("F" & i).Font.FontStyle = xlAutomatic 'colonne F texte auto
End If
Next i
End Sub

Mais sache qu'il y a rique de superposition des formats car les données peuvent entrer en concurrence.
En effet le contenu d'une cellule peut à la fois être > F4 et < F4/2.

Bonne continuation.
0