EXCEL: si A1= un mot,alors B1= cellule coloré

Résolu
slamdunk77 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
slamdunk77 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je me permet de vous solliciter car j'ai quelques soucis de formules sur Excel 2003.

Alors voici mon problème: dans ma colonne A je peux trouver 6 possibilités ( TB, TJ, TV, AP, ART8, PGTRX) et je voudrais dans la colonne B colorer la cellule.

exemple: si A1=TB alors B1= cellule BLEUE ou si A1=TJ alors B1=cellule JAUNE
A2=TV alors B2= cellule VERTE ou si A2=ART8 alors B2= cellule VIOLETTE
A3=AP alors B3= cellule ROUGE

et ainsi de suite sur plus de 200 lignes ....

J'ai essayé de me débrouiller avec la mise en forme conditionnelle, mais sans grand résultat! Car manque de connaissances.

Alors si quelqu'un pourrais me renseigner la dessus ou me donner d'autres solutions, je vous serrez très reconnaissant.

Merci beaucoup, bonne journée
A voir également:

14 réponses

LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   550
 
Quelle version d'Excel? Parce que jusqu'à 2003 tu ne peux faire que 3 MEFC, plus la MEF par défaut, ça gérerait 4 couleurs au mieux.
Mais en VB, c'est possible, par contre.
5
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

Pour gérer plus de 3 conditions en 2003 tu devrais essayer ce programme de Didier Fourgeot

C'est certainement la méthode la plus aboutie et assez facile à mettre en œuvre.
1
COCOTEHIER
 
Bonsoir,
Quelqu'un autrepart a écrit :

Sub Test()
'Déclaration des variables -------------------------
Dim Cel As Range
Dim F As Worksheet
'MEI ----------------------------
application.ScreenUpdating = False
'Blocage ragraîchissement écran
'Traitement------------------------
For Each F In Worksheets
'Pour chaque feuille du classeur
For Each Cel In F.UsedRange
'Pour chaque cellule de la plage utilisée de la feuille
Select Case Cel.Value
'définir case = valeur de cel
Case "A"
Cel.Interior.ColorIndex = 3
Case "B"
Cel.Interior.ColorIndex = 41
Case "C"
Cel.Interior.ColorIndex = 4
Case "D"
Cel.Interior.ColorIndex = 6
Case Else
Cel.Interior.ColorIndex = xlNone
End Select
Next Cel
Next F
application.ScreenUpdating = True
End Sub

La macro tient compte de la casse : "A" est reconnu, mais pas "a". si tu veux que ça fonctionne dans les 2 cas, tu remplaces
Select Case Cel.Value
par
Select Case Ucase(Cel.Value)

Si elle te convient, on peut la déclencher automatiquement sur la feuille en court, soit en cas de changement, soit en cas de changement de feuille.
Sinon, détailles ce que tu veux obtenir
A+

-->Message édité par Gorfael le 20/07/2007 02:14:42<--
1
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonsoir tout le monde,

j'arrive un peu tard mais vu que je l'ai fait je le met quand même :
http://www.cijoint.fr/cjlink.php?file=cj200810/cijUlCe7FM.xls

le code pour ceux qui liront plus tard :
Sub colorer()
    ' sélectionner la plage recevant la couleur avant d'appeler la macro
    Const offsetCol As Integer = -1 ' contrôler les cellules situées 1 colonne à gauche
    Dim c1 As Range, c2 As Range
    For Each c1 In Selection
        For Each c2 In [Légende ] 'plage nommée contenant le texte recherché et la couleur
            If c1.Offset(0, offsetCol).Value = c2.Value Then
                c1.Interior.ColorIndex = c2.Interior.ColorIndex
                Exit For
            End If
        Next c2
    Next c1
End Sub

eric
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
slamdunk77 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci à vous pour vos réponses, le lien Excel d'Eric est super. Je suis donc parvenue à réaliser mon projet grace a vous.

A la prochaine, bonne soirée
1
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention  
 
ben c est quoi qui te bloque dans les mises en forme conditionnel?.?
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention  
 
j veux bien un bout de code en vb par contre moi ;):p
0
slamdunk77 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   1
 
Justement je bosse sous excel 2003 et je n'arrive pas a mettre plus de 3 conditions. Et je me demandais si ce n'était pas possible de passer par une formule avec SI et OU.
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention  
 
par les formule, j suis sur que ca marche pas.. tu peux pas changer la couleur d une cellule via une formule.. mais en vba (en associant une macro vba sur le changement de cellule) je sais que c est possible, mais j ais pas creuser la question, vu que j utilise pas + de 3 condition aussi ;).. mais je suis programmeur dans l ame , donc :

LatelyGeek : si t as la soluce ;)

merci d avnce :)
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention  
 
thks pour moi, j espere que ca resolu ton soucis slamdunk77

si oui, oubli pas de mettre resolu en haut ;)

@++
0
slamdunk77 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   1
 
En ce qui concerne les macros, je ne connais pas grand chose car jusqu'à présent je n'ai jamais eu besoins de cette utilitaire.

Je viens d'aller télécharger le programme, je l'essayerai demain.

En tout cas merci pour vos réponces, et si d'autre personnes ont d'autres propositions, qu'ils n'hésitent pas!

bonne soirée
0
slamdunk77 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   1
 
je viens de voir ton com COCOTEHIER, je te tiens au courant demain.

merci beaucoup
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention  
 
oki, merci a toi aussi
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
PS: j'ai oublié de dire que si on met offsetCol à 0 on colorie les cellules sélectionnées selon leur contenu.
eric
0