Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
J'aimerais tester si une des valeurs d'une plage nommé ( [nb_jour]) est supérieur strictement à 3.
Qu'est ce que cela donne en VBA ?
Le résultat du test étant un msg box?
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
Call Nbjoursup3
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("C3:BL65"), Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex =[liste_code].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
End If
Application.EnableEvents = True
End Sub
Je vais essayé la mise en couleur de ton exemple à présent
Dans ce code comment mettre les cellules > à 9 en rouge
Sub Nbjourpat()
Compteurv = 0
For Each Cellule In Range("DX3😀X10") 'Boucle dans la plage
If Cellule.Value > 9 Then
Compteurv = Compteurv + 1
MsgBox "Il y a " & CStr(Compteurv) & " Agents(s)avec plus de 9 jours de congé paternité colonne DX"
End If
Sub Nbjourpat()
Compteurv = 0
For Each cellule In Range("DX3X10") 'Boucle dans la plage
If cellule.Value > 9 Then Compteurv = Compteurv + 1
If Macellule > 9 Then
cellule.Interior.ColorIndex = 3
Else
cellule.Interior.ColorIndex = 0
End If
Next cellule
MsgBox "Il y a " & CStr(Compteurv) & " Agents(s)avec plus de 9 jours de congé paternité colonne DX"
End Sub
La cellule e met bien en rouge mais le problème est qu'il faut que je clique 7 fois ok sur la msgbox pour la faire disparaître.
j'utilise le code ci-dessous
Sub Nbjourpat()
Compteurv = 0
For Each cellule In Range("DX3😀X10") 'Boucle dans la plage
If cellule.Value > 9 Then Compteurv = Compteurv + 1
If cellule.Value > 9 Then
cellule.Interior.ColorIndex = 3
Else
cellule.Interior.ColorIndex = 0
End If
MsgBox "Il y a " & CStr(Compteurv) & " Agents(s)avec plus de 9 jours de congé paternité colonne DX"
Next
End Sub
Ok roro j'ai mis ça et ça fonctionne. Car je veux que la MsgBox apparaisse seulement quand la valeur est supérieure à 9.
Mais j'ai encore un problème, je voudrais que lorsque ça devient inférieur à 9 ma cellule retrouve sa couleur initiale
Sub Nbjourpat()
Compteurv = 0
For Each cellule In Range("DX3😀X10") 'Boucle dans la plage
If cellule.Value > 9 Then Compteurv = Compteurv + 1
If cellule.Value > 9 Then
MsgBox "Il y a " & CStr(Compteurv) & " Agents(s)avec plus de 9 jours de congé paternité colonne DX"
If cellule.Value > 9 Then
cellule.Interior.ColorIndex = 3
Else
cellule.Interior.ColorIndex = 0
End If
End If
Next
End Sub
RE ; remplace ton code par celui ci et çà devrait marché
Sub Compte()
Compteurv = 0
Dim Macellule As Object 'Déclaration d'une variable
For Each Macellule In Range("DX3😀X10") 'Boucle dans la plage
If Macellule > 9 Then Compteurv = Compteurv + 1
If Macellule > 9 Then
MsgBox "Il y a " & CStr(Compteurv) & " Agents(s)avec plus de 9 jours de congé paternité colonne DX"
Macellule.Interior.ColorIndex = 4
Else
Macellule.Interior.ColorIndex = 0
End If
- 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