Coloration conditionnelle de cellules en vba

  • Initiateur de la discussion Initiateur de la discussion 6xela
  • 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 !

6

6xela

Guest
Bonjour,
Je suis débutant en VBA et je patauge :

A chaque changement de cellule : je cherche d'une part à colorer en jaune les cellules vides des lignes d'un tableau si la ligne contient une ou plusieurs cellules non vide...

Ensuite je voudrai que s'il reste des cellules colorées en jaunes et si l'utilisateur tente de changer d'onglet une message box s'affiche en inscrivant "Merci de bien vouloir remplir toutes les cellules jeunes avant de changer de feuille"...

Merci à ceux qui voudront bien me dépanner...

Cordialement.
 
Re : Coloration conditionnelle de cellules en vba

Merci beaucoup ...
Juste un détail j'aimerai que mes lignes restent sans coloration si elles sont entièrement vides et que les cellules vides ne se colorent que si une ou plusieurs cellules de la ligne ont été remplies.

Mon tableau s'étand sur la plage suivant (A2:E1000)
 
Re : Coloration conditionnelle de cellules en vba

En fait je voulais que les lignes entièrement non remplies restent sans coloration et j'ai réussi avec nb.vide plûtot que nbval par contre mon code suivant ne fonctionne pas :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

For Each c In Range("A2:E1000")
If c.Interior.ColorIndex = 6 Then
x = x + 1
End If
Next c
If Sh.Name <> "Entrées" And x > 0 Then

MsgBox "Veuillez remplir toutes les cellules jaunes de cette feuille"
Sheets("Entrées").Select
End If
End Sub
 
Re : Coloration conditionnelle de cellules en vba

Bonsoir,

C'est normal, la couleur n'est pas appliquée à la cellule mais gérée par la MFC.
=> .FormatConditions(1).Interior.ColorIndex

Il faut tester la condition et non la couleur.

Ton code boucle sur 5000 cellules à chaque changement de feuille ...
 
Re : Coloration conditionnelle de cellules en vba

Merci ça fonctionne mais par contre le code (au niveau de ce qui est écrit en rouge) se bloque par la suite en passant à la feuille 2 qui contient le code suivant :

Private Sub Worksheet_Activate()
Application.EnableEvents = False
For i = [B65536].End(xlUp).Row To 2 Step -1
If Range("D" & i).Value = 0 Then Rows(i).Delete
Next
Application.EnableEvents = True
Call Tri0
Call Tri
End Sub

Sub Tri()
Dim r As Range
Set r = ActiveSheet.Range("A1").CurrentRegion
r.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


Range("A1").Select
End Sub

Sub Tri0()

ActiveSheet.Range("$A$1:$D$1001").AutoFilter Field:=1, Criteria1:="<>"
End Sub
 
Re : Coloration conditionnelle de cellules en vba

Bonjour,

Qu'est ce qui se bloque ? Quel est est le message d'erreur ?
Essaie ceci :

Code:
Sub Test()
With ActiveSheet
    Set r = .Range("A1").CurrentRegion
    r.Sort Key1:=.Range("B2"), Order1:=xlAscending, Key2:=.Range("C2"), Order2:=xlAscending, Key3:=.Range("A2"), Order3:=xlAscending, Header:=xlYes
End With
End Sub

.Range refere à ActiveSheet
 
Re : Coloration conditionnelle de cellules en vba

ça ne m'affiche plus d'erreur lors de la sortie de la feuille 1 ... Par contre mon code de la feuille 2 s'applique sur la feuille 1 lorsque je change de feuille...
Et la feuille 1 m'affiche la message box même s'il n'y a plus de cellules jaunes !
 
Dernière modification par un modérateur:
Re : Coloration conditionnelle de cellules en vba

J'en suis là mais ça m'affiche la message box même s'il n'y a pas de cellules jaunes :

Sub Worksheet_Deactivate()
Dim c, temp
temp = 0
For Each c In Range("$A$2:$E$1000")
If c.FormatConditions(1).Interior.ColorIndex = 6 Then
temp = temp + 1
End If
Next c
If temp > 0 Then

MsgBox "Veuillez remplir toutes les cellules jaunes de cette feuille."
Sheets("Entrées").Select
End If


End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
866
L
Réponses
4
Affichages
737
Liorzherezh
L
Retour