Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

quel formule utilisé

  • Initiateur de la discussion Initiateur de la discussion jad73
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jad73

XLDnaute Occasionnel
bonjour
je recherche une formule pour colorier des cellules suivant un résultat.
j'ai une plag 1
" B C D E F G H I
5
6
7
.
.
.
25
qui contient des chiffres
j'ai un autre plage 2
Q5 en jaune
Q6 en rouge
Q7 en bleu
Q8 en vert
Q9 violet
avec des chiffres a l'interieur
je voudrais que suivant le résultat de ma plage2,les cellules de ma plage1 qui correspondent au résultat de plage2 se colorient
quelle formul dois-je utiliser.
je suis en excel 2003Macro
merci
 
Re : quel formule utilisé

bonsoir
fais une recherche avec MFC multiple ou mise en forme conditionnelle multiple
ce sujet ayant été déjà vu de nombreuses fois tu devrais trouver ta réponse
il faudra passer par le vba
 
Re : quel formule utilisé

slt pascal
merci pour ta réponse,je ne connaissais pas cette fontion
petit probleme il n'y a que 3 conditions il n'en faudrait 5
de plus comment recopier cette formule dans toutes les cellules de ma plage (160 cellules)
merci
 
Re : quel formule utilisé

Bonsoir Jad73,
deux solutioins ,ceci dans un module:
Code:
Sub test_couleur2()
Dim c As Range
Dim ws As Worksheet

Set ws = Worksheets("Feuil1")
Set c = ws.Range("A1:I25")
Application.ScreenUpdating = False

c.Select 'Permet de selectionner plusieurs cellules
For Each cell In Selection 'Pour chaque cellule dans la selection
If cell.Value = Worksheets("Feuil2").Range("Q5").Value Then 'Si la valeur = Q5 alors
cell.Interior.ColorIndex = 6 'Colorie la couleur de la cellule
End If
If cell.Value = Worksheets("Feuil2").Range("Q6").Value Then  'Si la valeur = Q6 alors
cell.Interior.ColorIndex = 3 'Colorie la couleur de la cellule
End If
If cell.Value = Worksheets("Feuil2").Range("Q7").Value Then  'Si la valeur = Q7 alors
cell.Interior.ColorIndex = 41 'Colorie la couleur de la cellule
End If
If cell.Value = Worksheets("Feuil2").Range("Q8").Value Then  'Si la valeur = Q8 alors
cell.Interior.ColorIndex = 4 'Colorie la couleur de la cellule
End If
If cell.Value = Worksheets("Feuil2").Range("Q9").Value Then  'Si la valeur = Q9 alors
cell.Interior.ColorIndex = 13 'Colorie la couleur de la cellule
End If
'tu peux rajouter d'autres conditions à la suite
Next
wsBD.Range("A1").Select
Application.ScreenUpdating = True


End Sub

Ou l'autre dans Worksheets_SelectionChange:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim ws As Worksheet

Set ws = Worksheets("Feuil1") ' renommer en fonction de tes feuilles
Set c = ws.Range("A1:I25")

If ActiveCell.Value = Worksheets("Feuil2").Range("Q5").Value Then 'Si la valeur = Q5 alors
ActiveCell.Interior.ColorIndex = 6 'Colorie la couleur de la cellule
End If
If ActiveCell.Value = Worksheets("Feuil2").Range("Q6").Value Then  'Si la valeur = Q6 alors
ActiveCell.Interior.ColorIndex = 3 'Colorie la couleur de la cellule
End If
If ActiveCell.Value = Worksheets("Feuil2").Range("Q7").Value Then  'Si la valeur = Q7 alors
ActiveCell.Interior.ColorIndex = 41 'Colorie la couleur de la cellule
End If
If ActiveCell.Value = Worksheets("Feuil2").Range("Q8").Value Then  'Si la valeur = Q8 alors
ActiveCell.Interior.ColorIndex = 4 'Colorie la couleur de la cellule
End If
If ActiveCell.Value = Worksheets("Feuil2").Range("Q9").Value Then  'Si la valeur = Q9 alors
ActiveCell.Interior.ColorIndex = 13 'Colorie la couleur de la cellule
End If
'tu peux rajouter d'autres conditions à la suite

End Sub

A te lire.
 
Dernière édition:
Re : quel formule utilisé

Bonjour Jad73, Pascal21, Tibo, Alex67800,

Si les couleurs des cellules de la plage 2 (de Q5 à Q9) sont fixes et pas définies avec une MFC, essaye le code suivant :

La zone nommée Plage correspond à B5:I25

Code:
Sub test()
Dim cell As Range, i As Integer
For Each cell In Range("Plage")
cell.Interior.ColorIndex = xlNone
    For i = 1 To 5
        If cell.Value = Range("Q" & i + 4).Value Then
            cell.Interior.ColorIndex = Range("Q" & i + 4).Interior.ColorIndex
        End If
    Next i
Next cell
End Sub

Cf exemple joint.

@+

Gael
 

Pièces jointes

Re : quel formule utilisé

slt gael
ton programme est ce que je cherche, je l'ai rentré dans une macro mais j'ai un message d'erreur de compilation "variable non definie" et x1none est bleui et sub test est en jaune
qu'est-ce que cela veut dire deplus tu as 2 modules ans ton exemple pourquoi
a part quelsque macros simples je suis assez novice
merci
 
Re : quel formule utilisé

Bonsoir Jad73,

Pour la macro dans le module2, elle ne sert à rien, c'était juste un essai pour avoir la bonne syntaxe, tu peux la supprimer.

Pour que l'autre macro fonctionne, il faut créer le nom "Plage":

* Tu fais insertion - nom - définir
* Dans la zone "Nom", tu tapes "Plage"
* Dans la zone "Fait référence à", tu mets: =Feuil1!$B$5:$I$25 ou une autre plage de données.
* Tu fais Ajouter puis OK.

Si cela ne marche toujours pas, tu joins ton fichier pour que je teste l'ensemble.

@+

Gael
 
Re : quel formule utilisé

Bonsoir Jad73,

2 petites erreurs (d'étourderie 😛) à corriger:

Code:
Sub arrivée()
'
' arrivée Macro
' Macro enregistrée le 20/12/2008 par jacky
'
Dim cell As Range, i As Integer
For Each cell In Range("numéros")
cell.Interior.ColorIndex = [COLOR=red]xlNone
[/COLOR]    For i = 1 To 5
        If cell.Value = Range("O" & i + 4).Value Then
           cell.Interior.ColorIndex = Range("O" & i + 4[COLOR=red]).[/COLOR]Interior.ColorIndex
           
        End If
    Next i
Next cell
     
End Sub

* Il faut mettre xlNone et pas x1None lettre "l" au lieu du chiffre "1"
* Il y avait un espace en trop entre i + 4) et .Interior

@+

Gael
 
Re : quel formule utilisé

bjr alex
j'avais éssayé le programme de gael qui est plus court,mais j'ai toujours le meme probleme,alors j'ai pris le tien et la j'ai "erreur de compilation: variable non définie" et c'est le mot cell qui est surligné de "for each cell",de plus tu mets "worksheets("feuil1") et aprés "worksheets("feuil2") dans les suivants.
est-ce normal?
merci
 
Re : quel formule utilisé

Bonjour Jad73,

Ci-joint ton programme corrigé. Il marche très bien chez moi, tu ne devrais pas avoir de problème.

@+

Gael

PS: j'ai ajouté la macro d'alex sur le fichier. Les 2 marchent, tu peux tester et choisir celle qui te convient mieux.
 

Pièces jointes

Dernière édition:
Re : quel formule utilisé

Bonjour jad73, gael,

Le worksheet (feuil1 et 2), était présent car ta feuille 1 faisiat référence à une valeur dans Q quelque chose de la feuille 2.
Pour ton nouveau fichier tu fais référence à la même feuille donc du coup fallait simpliifier le code ce que gael a très bien fait.😉

Bon Dimanche!


Edit: ouppss en relisant ton premier post, je viens de me rendre compte que c'est moi qui avait déduis que plage 2 était dans une autre feuille!!! arffff Je comprend mieux pourquoi je me suis compliqué la vie lol.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
280
P
Réponses
14
Affichages
1 K
PHILOU31
P
  • Question Question
Microsoft 365 =SI dans un MFC
Réponses
2
Affichages
980
G
Réponses
5
Affichages
4 K
gueststar
G
U
Réponses
4
Affichages
954
ungarospy
U
P
  • Question Question
Réponses
2
Affichages
1 K
P
A
Réponses
15
Affichages
4 K
Antoine MAZET
A
L
Réponses
9
Affichages
2 K
L
F
Réponses
11
Affichages
1 K
A
  • Question Question
Réponses
6
Affichages
1 K
N
Réponses
8
Affichages
5 K
F
Réponses
4
Affichages
946
fero7
F
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…