Mise en forme de cellules en fonction de conditions
Bonjour à tous,
Je voudrais m'excuser pour le libellé du sujet je ne savais pas trop comment le libeller.
Je vous remercie d’abord pour l’intérêt que vous porterez à ma préoccupation qui est la suivante.
J’ai voulu faire cette programmation en VBA Excel mais je n’arrive
1- Si la valeur de la cellule D17 que j’ai renommée (Solde_Débit1) est différente de la valeur de la cellule G17 que j’ai aussi renommée (Solde_Crédit2)
Alors mettre la cellule D17 et la cellule G17 en fond gris avec le texte en bleu
Sinon ne rien faire c'est-à-dire laisser le fonds blanc et le texte en noir
2- Faire de même avec les cellules E17 et F17 c'est-à-dire
Si la valeur de la cellule F17 que j’ai renommée (Solde_Débit2) est différente de la valeur de la cellule E17 que j’ai aussi renommée (Solde_Crédit1)
Alors mettre la cellule E17 et la cellule F17 en fond rouge avec le texte en bleu
Sinon ne rien faire c'est-à-dire laisser le fonds blanc et le texte en noir
À la fin de chaque mois et que je dois recopier la feuille janvier et la renommer au mois correspondant c'est-à-dire février et ainsi de suite jusqu'à décembre.
Je signale que je veux programmer avec les nouveaux noms que j’ai donné à mes cellules c'est-à-dire Solde_Cédit1, Solde_Crédit2, ……………
J’espère avoir été précise et je joins à cet effet un fichier pour plus de compréhension.
Merci d’avance.
Bonjour,
Pour créer une MFC
* Menu Accueil
* Mise en forme conditionnelle
* Nouvelle règle
---> Utiliser une formule pour déterminer....
Pour modifier une règle
* Gérer les règles
Bien à vous
Cordialement....
Mille merci Jean-Eric pour ta réponse, elle fonctionne mais j’aurais aimé pouvoir l’avoir comme un code à écrire en VBA.
J’ai un 2e problème.
Je voudrais que lorsque les conditions sont remplies un message apparaisse dans une boite de dialogue disant : « Votre rapprochement bancaire est équilibré »
Serait-il possible ?
Si oui merci de m’aider.
Bonjour
Il y a sans doute plus court ...
Code à placer dans ThisWorkbook
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If [Solde_Débit1] = [Solde_Crédit2] And [Solde_Débit2] = [Solde_Crédit1] Then
MsgBox ("Votre rapprochement bancaire est équilibré")
End If
If [Solde_Débit1] = [Solde_Crédit2] Then
[Solde_Débit1].Interior.ColorIndex = xlNone
[Solde_Crédit2].Interior.ColorIndex = xlNone
[Solde_Débit1].Font.ColorIndex = xlAutomatic
[Solde_Crédit2].Font.ColorIndex = xlAutomatic
Else
[Solde_Débit1].Interior.ColorIndex = 16
[Solde_Crédit2].Interior.ColorIndex = 16
[Solde_Débit1].Font.ColorIndex = 11
[Solde_Crédit2].Font.ColorIndex = 11
End If
If [Solde_Débit2] = [Solde_Crédit1] Then
[Solde_Débit2].Interior.ColorIndex = xlNone
[Solde_Crédit1].Interior.ColorIndex = xlNone
[Solde_Débit2].Font.ColorIndex = xlAutomatic
[Solde_Crédit1].Font.ColorIndex = xlAutomatic
Else
[Solde_Débit2].Interior.ColorIndex = 3
[Solde_Crédit1].Interior.ColorIndex = 3
[Solde_Débit2].Font.ColorIndex = 11
[Solde_Crédit1].Font.ColorIndex = 11
End If
End SubAmicalement
Nad
Merci Nad ça marcheeeeeeeeeeee!!!!!!!
merci aussi a Jean Eric .
Bonjour,
Avec un peu de retard....
Cordialement.
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range
'-------------------------------------------------------------------------------------
Cells.FormatConditions.Delete
Set Plage = Range("Solde_Débit1,Solde_Débit2,Solde_Crédit1,Solde_Crédit2")
With Plage
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End With
'-------------------------------------------------------------------------------------
Set Plage = Range("Solde_Débit2,Solde_Crédit1")
With Plage.FormatConditions _
.Add(xlExpression, , "=Solde_Débit2<>Solde_Crédit1")
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 11
End With
End With
Set Plage = Nothing
'-------------------------------------------------------------------------------------
Set Plage = Range("Solde_Débit1,Solde_Crédit2")
With Plage.FormatConditions _
.Add(xlExpression, , "=Solde_Débit1<>Solde_Crédit2")
With .Interior
.ColorIndex = 16
End With
With .Font
.ColorIndex = 11
End With
End With
Set Plage = Nothing
'-------------------------------------------------------------------------------------
If [Solde_Débit1] = [Solde_Crédit2] And [Solde_Débit2] = [Solde_Crédit1] Then
MsgBox ("Votre rapprochement bancaire est équilibré")
End If
End Sub