OVH Cloud OVH Cloud

formats conditionnels

5 réponses
Avatar
vallee
Bonjour,
=20
Question pour Excel (si vous avez un petit moment pour y=20
r=E9pondre et je vous en remercie d'avance).
Le format conditionnel d'Excel pour les cellules limite=20
le choix a trois ou quatre possibilit=E9s au=20
maximum.Comment faire pour =E9largir ces possibilit=E9s (en=20
langage vba ou macro ?).Par exemple sur un planning=20
j'aimerais que la couleur de la cellule ou de la police=20
change avec la lettre saisie dans celle-ci...(couleur=20
rouge pour la lettre M comme maladie, couleur jaune pour=20
la lettre V comme vacance etc. jusqu 'a une dizaine de=20
couleurs diff=E9rentes.Encore merci.
Cordiales salutations .
=20
Vall=E9e Philippe

5 réponses

Avatar
ChrisV
Bonjour vallee,

Dans la feuille de code de l'onglet concerné

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
For Each c In Target
Select Case c.Value
Case "M": c.Font.ColorIndex = 3
Case "V": c.Font.ColorIndex = 6
Case "A": c.Font.ColorIndex = 4
Case "P": c.Font.ColorIndex = 23
Case "L": c.Font.ColorIndex = 13
Case "U": c.Font.ColorIndex = 9
Case "S": c.Font.ColorIndex = 5
Case Else: c.Font.ColorIndex = xlAutomatic
End Select
Next
Application.EnableEvents = True
End If
End Sub

nb: pour modifier la couleur de fond de la cellule, remplacer
"Font.ColorIndex" par "Interior.ColorIndex"


ChrisV


"vallee" a écrit dans le message de
news: 69fc01c3e505$cc0e1ce0$
Bonjour,

Question pour Excel (si vous avez un petit moment pour y
répondre et je vous en remercie d'avance).
Le format conditionnel d'Excel pour les cellules limite
le choix a trois ou quatre possibilités au
maximum.Comment faire pour élargir ces possibilités (en
langage vba ou macro ?).Par exemple sur un planning
j'aimerais que la couleur de la cellule ou de la police
change avec la lettre saisie dans celle-ci...(couleur
rouge pour la lettre M comme maladie, couleur jaune pour
la lettre V comme vacance etc. jusqu 'a une dizaine de
couleurs différentes.Encore merci.
Cordiales salutations .

Vallée Philippe
Avatar
MERCI BIEN...C EXTRA ET çA MARCHE .J'AI JUSTE RETIRé
"If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then" ET "END IF" CAR CELA ME DISAIT QUE LA METHODE RANGE
ECHOUAIT. A QUOI SERVAIT CES LIGNES ?

-----Message d'origine-----
Bonjour vallee,

Dans la feuille de code de l'onglet concerné

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then

Application.EnableEvents = False
For Each c In Target
Select Case c.Value
Case "M": c.Font.ColorIndex = 3
Case "V": c.Font.ColorIndex = 6
Case "A": c.Font.ColorIndex = 4
Case "P": c.Font.ColorIndex = 23
Case "L": c.Font.ColorIndex = 13
Case "U": c.Font.ColorIndex = 9
Case "S": c.Font.ColorIndex = 5
Case Else: c.Font.ColorIndex = xlAutomatic
End Select
Next
Application.EnableEvents = True
End If
End Sub

nb: pour modifier la couleur de fond de la cellule,
remplacer

"Font.ColorIndex" par "Interior.ColorIndex"


ChrisV


"vallee" a écrit
dans le message de

news: 69fc01c3e505$cc0e1ce0$
Bonjour,

Question pour Excel (si vous avez un petit moment pour y
répondre et je vous en remercie d'avance).
Le format conditionnel d'Excel pour les cellules limite
le choix a trois ou quatre possibilités au
maximum.Comment faire pour élargir ces possibilités (en
langage vba ou macro ?).Par exemple sur un planning
j'aimerais que la couleur de la cellule ou de la police
change avec la lettre saisie dans celle-ci...(couleur
rouge pour la lettre M comme maladie, couleur jaune pour
la lettre V comme vacance etc. jusqu 'a une dizaine de
couleurs différentes.Encore merci.
Cordiales salutations .

Vallée Philippe


.



Avatar
ChrisV
Re,

Ces lignes servent à restreindre la mise en forme conditionnelle (MEFC) sur
une plage de cellules précise de ta feuille de calcul (ici la plage nommée
Zn)...
En les supprimant, toutes les cellules de ton onglet réagissent à la MEFC
suivant leur contenu...
Si tu désires appliquer cette MEFC à une plage déterminée (ex. A1:D10) et
pas aux autres cellules, il faut indiquer:

If Not Intersect(Target.Cells, Range("A1:D10")) Is Nothing Then
ou encore après avoir nommée la plage A1:D10 par Zn
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing Then
et ajouter dans l'un ou l'autre cas le End If


ChrisV


a écrit dans le message de news:
4e3901c3e515$fbc12940$
MERCI BIEN...C EXTRA ET çA MARCHE .J'AI JUSTE RETIRé
"If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then" ET "END IF" CAR CELA ME DISAIT QUE LA METHODE RANGE
ECHOUAIT. A QUOI SERVAIT CES LIGNES ?

-----Message d'origine-----
Bonjour vallee,

Dans la feuille de code de l'onglet concerné

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then

Application.EnableEvents = False
For Each c In Target
Select Case c.Value
Case "M": c.Font.ColorIndex = 3
Case "V": c.Font.ColorIndex = 6
Case "A": c.Font.ColorIndex = 4
Case "P": c.Font.ColorIndex = 23
Case "L": c.Font.ColorIndex = 13
Case "U": c.Font.ColorIndex = 9
Case "S": c.Font.ColorIndex = 5
Case Else: c.Font.ColorIndex = xlAutomatic
End Select
Next
Application.EnableEvents = True
End If
End Sub

nb: pour modifier la couleur de fond de la cellule,
remplacer

"Font.ColorIndex" par "Interior.ColorIndex"


ChrisV


"vallee" a écrit
dans le message de

news: 69fc01c3e505$cc0e1ce0$
Bonjour,

Question pour Excel (si vous avez un petit moment pour y
répondre et je vous en remercie d'avance).
Le format conditionnel d'Excel pour les cellules limite
le choix a trois ou quatre possibilités au
maximum.Comment faire pour élargir ces possibilités (en
langage vba ou macro ?).Par exemple sur un planning
j'aimerais que la couleur de la cellule ou de la police
change avec la lettre saisie dans celle-ci...(couleur
rouge pour la lettre M comme maladie, couleur jaune pour
la lettre V comme vacance etc. jusqu 'a une dizaine de
couleurs différentes.Encore merci.
Cordiales salutations .

Vallée Philippe


.



Avatar
Alpha
Salut ChrisV, c'est encore moi !
Sur ton exemple comment faire si l'on veut à la fois la lettre dans une
couleur et le fond dans une autre.
Merci
Alpha

"ChrisV" a écrit dans le message de
news:%
Re,

Ces lignes servent à restreindre la mise en forme conditionnelle (MEFC)
sur

une plage de cellules précise de ta feuille de calcul (ici la plage nommée
Zn)...
En les supprimant, toutes les cellules de ton onglet réagissent à la MEFC
suivant leur contenu...
Si tu désires appliquer cette MEFC à une plage déterminée (ex. A1:D10) et
pas aux autres cellules, il faut indiquer:

If Not Intersect(Target.Cells, Range("A1:D10")) Is Nothing Then
ou encore après avoir nommée la plage A1:D10 par Zn
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing Then
et ajouter dans l'un ou l'autre cas le End If


ChrisV


a écrit dans le message de news:
4e3901c3e515$fbc12940$
MERCI BIEN...C EXTRA ET çA MARCHE .J'AI JUSTE RETIRé
"If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then" ET "END IF" CAR CELA ME DISAIT QUE LA METHODE RANGE
ECHOUAIT. A QUOI SERVAIT CES LIGNES ?

-----Message d'origine-----
Bonjour vallee,

Dans la feuille de code de l'onglet concerné

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then

Application.EnableEvents = False
For Each c In Target
Select Case c.Value
Case "M": c.Font.ColorIndex = 3
Case "V": c.Font.ColorIndex = 6
Case "A": c.Font.ColorIndex = 4
Case "P": c.Font.ColorIndex = 23
Case "L": c.Font.ColorIndex = 13
Case "U": c.Font.ColorIndex = 9
Case "S": c.Font.ColorIndex = 5
Case Else: c.Font.ColorIndex = xlAutomatic
End Select
Next
Application.EnableEvents = True
End If
End Sub

nb: pour modifier la couleur de fond de la cellule,
remplacer

"Font.ColorIndex" par "Interior.ColorIndex"


ChrisV


"vallee" a écrit
dans le message de

news: 69fc01c3e505$cc0e1ce0$
Bonjour,

Question pour Excel (si vous avez un petit moment pour y
répondre et je vous en remercie d'avance).
Le format conditionnel d'Excel pour les cellules limite
le choix a trois ou quatre possibilités au
maximum.Comment faire pour élargir ces possibilités (en
langage vba ou macro ?).Par exemple sur un planning
j'aimerais que la couleur de la cellule ou de la police
change avec la lettre saisie dans celle-ci...(couleur
rouge pour la lettre M comme maladie, couleur jaune pour
la lettre V comme vacance etc. jusqu 'a une dizaine de
couleurs différentes.Encore merci.
Cordiales salutations .

Vallée Philippe


.







Avatar
ChrisV
Bonjour Alpha,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
For Each c In Target
Select Case c.Value
Case "M": c.Font.ColorIndex = 3: c.Interior.ColorIndex = 6
Case "V": c.Font.ColorIndex = 6: c.Interior.ColorIndex = 3
Case "A": c.Font.ColorIndex = 4: c.Interior.ColorIndex = 2
Case "P": c.Font.ColorIndex = 23: c.Interior.ColorIndex = 9
Case "L": c.Font.ColorIndex = 13: c.Interior.ColorIndex = 5
Case "U": c.Font.ColorIndex = 9: c.Interior.ColorIndex = 4
Case "S": c.Font.ColorIndex = 5: c.Interior.ColorIndex = 23
Case Else: c.Font.ColorIndex = xlAutomatic
End Select
Next
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
O$
Salut ChrisV, c'est encore moi !
Sur ton exemple comment faire si l'on veut à la fois la lettre dans une
couleur et le fond dans une autre.
Merci
Alpha

"ChrisV" a écrit dans le message de
news:%
Re,

Ces lignes servent à restreindre la mise en forme conditionnelle (MEFC)
sur

une plage de cellules précise de ta feuille de calcul (ici la plage
nommée


Zn)...
En les supprimant, toutes les cellules de ton onglet réagissent à la
MEFC


suivant leur contenu...
Si tu désires appliquer cette MEFC à une plage déterminée (ex. A1:D10)
et


pas aux autres cellules, il faut indiquer:

If Not Intersect(Target.Cells, Range("A1:D10")) Is Nothing Then
ou encore après avoir nommée la plage A1:D10 par Zn
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing Then
et ajouter dans l'un ou l'autre cas le End If


ChrisV


a écrit dans le message de news:
4e3901c3e515$fbc12940$
MERCI BIEN...C EXTRA ET çA MARCHE .J'AI JUSTE RETIRé
"If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then" ET "END IF" CAR CELA ME DISAIT QUE LA METHODE RANGE
ECHOUAIT. A QUOI SERVAIT CES LIGNES ?

-----Message d'origine-----
Bonjour vallee,

Dans la feuille de code de l'onglet concerné

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then

Application.EnableEvents = False
For Each c In Target
Select Case c.Value
Case "M": c.Font.ColorIndex = 3
Case "V": c.Font.ColorIndex = 6
Case "A": c.Font.ColorIndex = 4
Case "P": c.Font.ColorIndex = 23
Case "L": c.Font.ColorIndex = 13
Case "U": c.Font.ColorIndex = 9
Case "S": c.Font.ColorIndex = 5
Case Else: c.Font.ColorIndex = xlAutomatic
End Select
Next
Application.EnableEvents = True
End If
End Sub

nb: pour modifier la couleur de fond de la cellule,
remplacer

"Font.ColorIndex" par "Interior.ColorIndex"


ChrisV


"vallee" a écrit
dans le message de

news: 69fc01c3e505$cc0e1ce0$
Bonjour,

Question pour Excel (si vous avez un petit moment pour y
répondre et je vous en remercie d'avance).
Le format conditionnel d'Excel pour les cellules limite
le choix a trois ou quatre possibilités au
maximum.Comment faire pour élargir ces possibilités (en
langage vba ou macro ?).Par exemple sur un planning
j'aimerais que la couleur de la cellule ou de la police
change avec la lettre saisie dans celle-ci...(couleur
rouge pour la lettre M comme maladie, couleur jaune pour
la lettre V comme vacance etc. jusqu 'a une dizaine de
couleurs différentes.Encore merci.
Cordiales salutations .

Vallée Philippe


.