Excel: macro VBA mise en forme conditionnelle [Résolu/Fermé]

Signaler
-
 Missy -
Bonjour,
j'aurais besoin d'aide sous Excel pour réaliser une macro VBA
Voilà le "sujet" :

J'ai un tableau comme ceux-ci:

A1: Vendredi
A2: Samedi
...
A7: Jeudi

B1: 40179 (nombre qui correspond au 01/01/2010)
B2: 40180 (nombre qui correspond au 02/01/2010)
...
B7: 40185

C1: Date automatique du jour au format Nombre (C1=AUJOURDUI())

Ce que je souhaite faire, c'est quand la date est passée, le nom du jour change de format.
Exemple : on est le 05/01/2010 soit le 40183 (au format nombre). Je souhaiterais que les noms des jours passée (à savoir le 01/01/2010, 02/01/2010...) dans la colonne A change de couleur (passe du noir au rouge par exemple).
En gros, ce que je n'arrive pas à faire, c'est comparé les cellules de la colonne B à la celulle C1 et imposé un changement de format aux cellules de la colonne A quand la condition est vraie.

J'espère que c'est compréhensible.
Merci par avance de vos réponses
Antoine

10 réponses

Messages postés
556
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
18 octobre 2015
104
Tu fais une boucle qui compare tes deux cellules A1 et l'autre du genre
si cellule est= >A1 alors cellule suivante
sinon Selection.NumberFormat = "General"

Voila
Merci de ta réponse mais ce n'est pas très clair ! Je n'y connais pas grand chose en VBA
Messages postés
17158
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
5 août 2020
4 160
Salut,

Tu peux traiter ça avec une mise en forme conditionnelle et une formule

Colonne A pour les jours de semaine, mets en surbrillance la colonne et Format/Mise en Forme Conditionnelle

Sélectionne la formule est: et saisis
=$C3<$D$1 Format choisis police et la couleur éventuellement le gras etc ...
(D1 étant le cellule contenant =AUJOURDHUI()

Ensuite colonne C, en C1 colles cette formule que tu incrémentes

=SI(B1<$D$1;TEXTE(B1;"@");TEXTE(B1;"JJ/MM/AAAA")*1)

la date en format Date passera en format standard et inversement en fonction de la date, la colonne C pourra être masquée

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
Salut Mike,
Tout d'abord merci de ta réponse
J'ai essayé ce que tu m'as dit mais ca ne marche. En faîtes, je ne suis pas sûr que tu es bien compris la question.
Ce que je cherche à faire, c'est en fonction de la date (mais ca pourrait être deux chiffres), je veux quand l'un est inférieur à l'autre qu'une cellule change de format ; sachant qu'une date est fixe et que je compare les autres dates à celle-là.

Pour essayer d'être un peu plus clair, voici un exemple :
Si B1<C1 alors A1 passe en rouge
Si B2<C1 alors A2 passe en rouge
et ainsi de suite
Je peux effectivement utiliser la mise en forme conditionnelle :
je me mets sur A1 et dans mise en forme conditionnelle je mets quand la formule est =B1<C1 passage en rouge du texte sauf qu'avec cette méthode, il faut le faire pour chaque case (A1, A2, A3...)

J'espère que c'est plus compréhensible
Messages postés
17158
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
5 août 2020
4 160
Non je te prépare un petit exemple avec les explications, pour la mise en forma conditionnelle tu traite la colonne ou la plage d'un coup

Dans quelques minutes je t'envoie ça

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
OK
merci beaucoup
Messages postés
17158
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
5 août 2020
4 160
Re,

récupères un exemple avec ce lien

https://www.cjoint.com/?grvxGARfZm

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
Génial, ca fonctionne ! et en plus c super simple à refaire
Encore merci pour le temps que tu m'as consacré !

Bonne soirée
Antoine
Messages postés
17158
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
5 août 2020
4 160
Re,

Tu vois il ne faut pas crier au loup trop vite, il y a toujours une solution sans aller chercher loin.

J’ai jeté un œil sur tes interventions, il serait bien que tu deviennes membre de ce forum, ça te permettrai de gérer plus facilement tes discussions.

N'oublies pas de mettre ton statut en résolu ou demande à la modération de le faire pour toi en cliquant sur le triangle jaune en haut d'un post, ça permet à des demandeurs de retrouver facilement la discussion pour des problèmes similaires

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
Bonjour,

J'ai le même problème mais le lien ne fonctionne plus.