Excel : Mise en forme conditionnelle

Postez ici vos questions et(ou) vos solutions ayant pour thème l'informatique.

Modérateurs: NeoMaHo, Sebastien, Bourrin007

Excel : Mise en forme conditionnelle

Messagede bingo57 le Sam Jan 05, 2008 5:27 pm

BONJOUR


j'ai une feuille Excel ou je rentre toujours les mêmes chiffres<< 1 2 3 4 5 >>

je rempli la cellule toujours de la même couleur

1...rouge
2...vert
3...jaune
4..bleu clair
5....brun


je voudrais quand je tape 1 la cellule se remplisse automatiquement en rouge
le 2 en vert etc...c'est possible ?
merci de votre réponse et bon week end
bingo57
No0b
No0b
 
Messages: 16
Inscription: Sam Déc 08, 2007 12:34 pm

Re: Excel : Mise en forme conditionnelle

Messagede Sebastien le Sam Jan 05, 2008 7:06 pm

Bonjour,

C'est possible avec une macro. En effet, le module de mise en forme conditionnelle d'Excel limite le nombre de conditions à trois.
Pour la mise en forme conditionnelle proposée dans le menu format, voir cette page de notre site : Tutorial bureautique : Tableur (Microsoft Excel) : Le menu Format

Pour la macro, voici un code qui fait ce que vous recherchez. Vous pouvez ajouter des conditions au besoin.

Code: Tout sélectionner
Sub miseenformeconditionnelle()

Dim cellule As Range
Application.ScreenUpdating = False
Sheets("Feuil1").Select
For Each cellule In Range("A1:BP170")
Select Case UCase(cellule.Value)
Case Is = "1"
cellule.Interior.ColorIndex = 3
Case Is = "2"
cellule.Interior.ColorIndex = 4
Case Is = "3"
cellule.Interior.ColorIndex = 6
Case Is = "4"
cellule.Interior.ColorIndex = 8
Case Is = "5"
cellule.Interior.ColorIndex = 9
Case Else
End Select
Next
End Sub
Image
Avatar de l’utilisateur
Sebastien
Administrateur
Administrateur
 
Messages: 2555
Inscription: Lun Fév 14, 2005 8:17 pm
Localisation: LILLE

Re: Excel : Mise en forme conditionnelle

Messagede bingo57 le Sam Jan 05, 2008 7:52 pm

merci pour la reponse


fonctionne pas ou je fais une mauvaise manipulation..

j'ouvre visual basic editor sur ma feuille insertion module et je copie votre formule
je referme le tout je frappe 1 ou deux etc mais aucune couleur dans les cellule...

je n'ai peut etre pas tout compris comme il faut ?
bingo57
No0b
No0b
 
Messages: 16
Inscription: Sam Déc 08, 2007 12:34 pm

Re: Excel : Mise en forme conditionnelle

Messagede Sebastien le Sam Jan 05, 2008 8:25 pm

Effectivement, il faut lancer la macro pour que les mises à jour de couleurs soient faites. Il faut trouver un moyen pour que la macro soit lancée lors d'une saisie dans la feuille de calcul (info que je n'ai pas pour le moment).
Image
Avatar de l’utilisateur
Sebastien
Administrateur
Administrateur
 
Messages: 2555
Inscription: Lun Fév 14, 2005 8:17 pm
Localisation: LILLE

Re: Excel : Mise en forme conditionnelle

Messagede bingo57 le Dim Jan 06, 2008 12:00 pm

juste a titre de renseignement y aura t il une solution dans le temps ?

merci de votre aide
bingo57
No0b
No0b
 
Messages: 16
Inscription: Sam Déc 08, 2007 12:34 pm

Re: Excel : Mise en forme conditionnelle

Messagede Sebastien le Dim Jan 06, 2008 10:28 pm

bingo57 a écrit:Juste a titre de renseignement y aura t il une solution dans le temps ?

Oui si j'arrive à trouver une solution pour lancer une macro automatiquement lors de la saisie d'une information dans une cellule, chose que pour le moment je ne sais pas faire. Par contre je sais que c'est possible. Je reposterai si j'ai une solution.
Vous, de votre coté, si vous trouvez une solution, n'hésitez pas à nous la communiquer.

@+
Image
Avatar de l’utilisateur
Sebastien
Administrateur
Administrateur
 
Messages: 2555
Inscription: Lun Fév 14, 2005 8:17 pm
Localisation: LILLE

Re: Excel : Mise en forme conditionnelle

Messagede bingo57 le Lun Jan 07, 2008 12:15 am

MERCI DE LA REPONSE :*.*:
bingo57
No0b
No0b
 
Messages: 16
Inscription: Sam Déc 08, 2007 12:34 pm

Re: Excel : Mise en forme conditionnelle

Messagede bingo57 le Jeu Jan 10, 2008 12:05 pm

bonjour


j'ai trouvé une solution seul probleme c'est qu'il me met la cellule en noir si je marque autre chose
que puis je faire pour changer ca ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then
Target.Interior.ColorIndex = xlNone
Exit Sub
End If
termes = ",A,1,2,D,3,F,4,H,5,J,K,L,M,N,O,P,"
couleurs = Array(1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 23)
x = (InStr(termes, "," & UCase(Target)) + 1) / 2
If x > 15 Then Exit Sub
If x <> 0 Then Target.Interior.ColorIndex = couleurs((x - 1))
End Sub


merci de la reponse
bingo57
No0b
No0b
 
Messages: 16
Inscription: Sam Déc 08, 2007 12:34 pm

Re: Excel : Mise en forme conditionnelle

Messagede Sebastien le Jeu Jan 10, 2008 8:28 pm

Bonsoir,

Vous avez copié/collé le code que vous citez directement dans l'éditeur VBA de Excel et lorsque vous éditez une case de votre feuille de calcul, cela lance la macro ?
Je n'ai pas réussi à faire en sorte que la macro fonctionne mais pourtant, la fonction à utiliser semble bien être Worksheet_Change

Voir cette page : http://silkyroad.developpez.com/VBA/EvenementsFeuille/

Peut-être devriez vous éditer le code de votre exemple en le modifiant avec celui de la macro que j'ai cité plus haut, mais en utilisant la fonction Worksheet_Change. C'est ce que je voulais tester mais cela ne fonctionne pas, aucune macro n'est lancée lors d'une saisie dans une cellule, c'est peut être dû à mon poste puisque je n'ai pas réussi à lancer votre exemple alors que chez vous, il semble fonctionner.
Image
Avatar de l’utilisateur
Sebastien
Administrateur
Administrateur
 
Messages: 2555
Inscription: Lun Fév 14, 2005 8:17 pm
Localisation: LILLE


Retourner vers Forum d'entraide informatique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron