Détecter une valeur donnée dans une plage en vba
Résolu
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 ? -
@59BzikJe suis arrivé au bout de mes compétences, comme je le disais je ne connais pas du tout le langage VBA, essaie de ton coté de faire avec l'enregistreur de macro.
Maintenant je te laisse aux bons soins des spécialistes en la matière.
Bonne continuation
Cordialement -
-
@59BzikBonjour
C'est bien tu as trouvé ta solution -
Si c'est le cas n'oublie pas de marquer le fil en résolu
Cordialement
-