XL 2010 VBA

Michoudauphin

XLDnaute Nouveau
Bonjour, j'ai créé une macro qui fonctionnait lorsque je l'ai créée mais depuis cela ne fonctionne et je ne sais pas pourquoi.
En fait je veux que quand ma date soit dépassée la case se colore en rouge avec écriture blanche. Tout fonctionnait très bien et je n'ai rien changé à ma macro

Private Sub Workbook_Open()
For Each cell In Range("J3:J500")
If cell.Value < Date And cell.Value <> "" Then
cell.Interior.ColorIndex = 3
cell.Font.ColorIndex = 2
cell.Font.Bold = True
End If
Next
For Each cell In Range("k3:k500")
If cell.Value < Date And cell.Value <> "" Then
cell.Interior.ColorIndex = 3
cell.Font.ColorIndex = 2
cell.Font.Bold = True
End If
Next
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour et bienvenue sur le forum,

Pourquoi faire ça par macro alors qu'une mise en forme conditionnelle avec formule suffirait amplement.

Joignez un fichier exemple anonymisé et sans données confidentielles

Cordialement
 

Michoudauphin

XLDnaute Nouveau
Bonjour et bienvenue sur le forum,

Pourquoi faire ça par macro alors qu'une mise en forme conditionnelle avec formule suffirait amplement.

Joignez un fichier exemple anonymisé et sans données confidentielles

Cordialement
J'ai essayé avec une mise en forme mais j'avais une erreur aussi dans ma formule. J'ai plusieurs mise en forme dans mon fichier mais celle là j'arrive pas.
 

Pièces jointes

  • Liste sous traitants MX - Copie.xlsm
    140.2 KB · Affichages: 2

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

En s'assurant que $J2 est la cellule active après avoir sélectionner J2:J499
La formule suivante pour la MFC suffit :
=ET($J2>0;$J2<AUJOURDHUI())
Faites attention à la position des $

Dans le fichier joint vous verrez également en deuxième feuille le même exemple avec un tableau structuré.

Cordialement
 

Pièces jointes

  • Liste sous traitants MX - Copie.xlsm
    104.1 KB · Affichages: 1

Michoudauphin

XLDnaute Nouveau
Bonjour,

En s'assurant que $J2 est la cellule active après avoir sélectionner J2:J499
La formule suivante pour la MFC suffit :

Faites attention à la position des $

Dans le fichier joint vous verrez également en deuxième feuille le même exemple avec un tableau structuré.


Cordialement
Merci beaucoup, j'avais essayé une formule mais il me mettait un message d'erreur car j'avais commencé par un = donc je ne comprends pas qu'avec vous ça marche :) par contre il y a quand même un problème dans les cellules de K14 à K18 et K206 elles devraient être en blanc car la date n'est pas dépassée. Bien à vous.
 

Michoudauphin

XLDnaute Nouveau
Merci beaucoup, j'avais essayé une formule mais il me mettait un message d'erreur car j'avais commencé par un = donc je ne comprends pas qu'avec vous ça marche :) par contre il y a quand même un problème dans les cellules de K14 à K18 et K206 elles devraient être en blanc car la date n'est pas dépassée. Bien à vous.
J'ai trouvé en fait il faut faire deux MFC différentes pour les colonnes J et K aussi non quand on change dans une colonne il change automatiquement dans l'autre même si la date est bonne. Bonne journée et un grand merci pour votre aide
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Inutile de faire 2 MFC la formule suivante, qui s'abstrait des coordonnées absolues de colonne, fonctionne :
=ET(J2>0;J2<AUJOURDHUI())
J2 doit être la cellule de active (fond blanc) de la sélection au moment où vous créez la mise en forme conditionnelle
1663939490639.png


Cordialement
 

Pièces jointes

  • Liste sous traitants MX - Copie.xlsm
    104.5 KB · Affichages: 2

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T