Détecter une valeur donnée dans une plage en vba
Résolu
59Bzik
Messages postés
13
Statut
Membre
-
PapyLuc51 Messages postés 4570 Date d'inscription Statut Membre Dernière intervention -
PapyLuc51 Messages postés 4570 Date d'inscription Statut Membre Dernière intervention -
Bonjour le forum
Comment écrire un code vba Excel qui dit que:
Si la valeur de la cellule C6 est égale à la valeur de l'une des cellules de la plage (E3:H4) Alors la cellule D6 se colore en rouge.
Merci d'avance.
Comment écrire un code vba Excel qui dit que:
Si la valeur de la cellule C6 est égale à la valeur de l'une des cellules de la plage (E3:H4) Alors la cellule D6 se colore en rouge.
Merci d'avance.
3 réponses
-
Bonjour,
Sans VBA, une MFC sur D6 avec la formule
=NB.SI(E3:H4;C6)=1 ----Ou---- =NB.SI(E3:H4;C6)>0
Cordialement -
La MFC ne s'efface pas si tu changes la format de la cellule individuellement (couleur / bordure / police).
Par contre c'est vrai qu'elle s'efface si tu utilises la brosse de reproduction de mise en forme qui englobe toutes les mises en forme de la cellule souche.
Cordialement -
En attendant que les spécialistes du code VBA répondent ; je ne suis pas du tout au fait du langage alors j'ai fait un enregistrement via l'onglet développeur pour mettre en place la MFC ; ça a l'air de fonctionner.
https://www.cjoint.com/c/HHwpNdNy4z8
Cordialement-
J'ai utilié ce code mais ça se bloque au niveau de : If c = Cells( i , 1) Then
With Worksheets("Preparation Emplois").Range("M5:T7")
For i = 10 To 14
For j = 13 To 20
Set c = .Find(Cells(i, 1), LookIn:=xlValues)
If c = Cells( i , 1) Then ' ça ce bloque ici'
Cells(i, j).Interior.ColorIndex = 43
End If
Next j
Next i
End With
Mais s'il s'agit d'une seule cellule, ça marche
Çàd: Cells(10 , 1) au lieu de Cells( i , 1)
à condition que la valeur de Cells(10,1) est trouvée dans la plage. Si non il réclame erreur.
Y'a t-il une correction s'ils vous plait ? -
Ok merci. j'ai trouvé la solution
With Worksheets("Preparation Emplois").Range("M5:T7")
For i = 10 To 144
For j = 13 To 20
Set c = .Find(Cells(i, 1), LookIn:=xlValues)
If c Is Nothing Then Cells(i, j).Interior.ColorIndex = 0
Next j
Next i
End With- Bonjour
C'est bien tu as trouvé ta solution -
Si c'est le cas n'oublie pas de marquer le fil en résolu
Cordialement
-