Excel: macro VBA mise en forme conditionnelle

Résolu/Fermé
zizou78 - 17 juin 2009 à 15:38
 Missy - 24 avril 2013 à 10:31
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
A voir également:

10 réponses

frippons Messages postés 550 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 18 octobre 2015 100
17 juin 2009 à 16:16
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
0
Merci de ta réponse mais ce n'est pas très clair ! Je n'y connais pas grand chose en VBA
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
17 juin 2009 à 17:04
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)
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
17 juin 2009 à 20:57
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)
0
OK
merci beaucoup
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
17 juin 2009 à 21:24
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)
0
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
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
17 juin 2009 à 22:33
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)
0
Bonjour,

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