Cellules colorées

julbute

XLDnaute Junior
Bonjour,
Voici mon petit ou gros problème.
Je ne sais pas si cela est possible de faire cela sur excel.

J'ai un planning où les lignes représentent les jours de la semaine et les colonnes les projets.
Une ligne sur deux est soit blanche ou grise pour les jours ouvrés et bleu pour les week-end.
Je colorise les cellules en fonction des interventions à faire: vert, magenta, marron, jaune. Je mets l'effectif dans les cellules.
J'aimerai que les cellules blanches, grises et bleus reprennent leurs couleurs lorsque je déplace les cellules verte, magenta ect.. en cas ou il y a changement dans le planning.
Merci
 

julbute

XLDnaute Junior
Re : Cellules colorées

ok,
voici le fichier de base, ce n'est pas la version définitive du fichier que j'utilise.
Mais la trame est comme cela.
Cijoint.fr - Service gratuit de dépôt de fichiers
pour ce qui est du format conditionnelle j'y ai pensé, mai là il faut tester la couleur de la cellule est non pas son contenu.
je ne sais pas faire.
Merci
 

JNP

XLDnaute Barbatruc
Re : Cellules colorées

Bonjour le fil :),
Comme dit Marcel32, à condition de remettre correctement tes fonds dans la colonne "jours", cette petite macro remettra en forme les cellules sélectionnées
Code:
Sub RemiseEnForme()
Dim Cellule As Range
For Each Cellule In Selection
With Cellule
.Interior.Color = Cells(Cellule.Row, 5).Interior.Color
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End With
Next
End Sub
Bonne soirée :cool:
Ajout : Non Marcel, il ne peux pas utiliser JOURSEM, ce ne sont pas des dates dans cette colonne...
 
Dernière édition:

julbute

XLDnaute Junior
Re : Cellules colorées

Je n'ai pas pense teste sur la colonne E.
Comme je disais c'est un vieux fichier pas parfait dutout.
Vous feriez trés certainement mieux que moi.

lorsque je lance la macro j'ai un message disnat:
Propriètèe ou mèthode non gérée par cet objet.

Merci
 

JNP

XLDnaute Barbatruc
Re : Cellules colorées

Re :),
@Marcel : effectivement, en D, c'est des dates, mais en E, non. La mise en forme existe en E mais pas en D, d'où ma remarque... Mais il est vrai qu'il est possible de faire une MFC, surtout que d'après le fichier envoyé, Julbute est en 2007 avec MFC illimitées... Mais je déconseillerais vu qu'il souhaite modifier l'emploi du temps par glisser/déposer et que dans ces cas là, chaque déplacement va généré des MFC supplémentaires...
@Julbute : j'ai inclu ma macro dans ton fichier, déclenchement avec Ctrl+r, ça fonctionne très bien en dehors du fait que 2007 fait une différence entre blanc et transparent à l'écran (mais pas à l'impression).
Bon courage :cool:
 

Pièces jointes

  • Planning remise en forme.zip
    43.6 KB · Affichages: 52

julbute

XLDnaute Junior
Re : Cellules colorées

Bonjour,
merci pour votre aide.
ok pour le fichier avec la macro.Effectivment je suis sur 2007 mais il faut que cela reste compatible avec la version 2003.Nous n'avons pas tous la même version.:(
Cela fonctionne mais, si je peux me permettre, il faudrait que se soit d'une manière automatique sans CTRL+R.
Le resultat n'est pas celui que j'ai essayer de décrire.
Avec la macro actuelle, lorsque je déplace en selectionnant la cellule avec la souris et en la déplacant avec la poignée.La cellule d'arrivée prend bien la couleur rouge, par exemple.La cellule de départ reste blanche.Et lorsque j'appui sur CTRL+R, c'est la cellule rouge qui prend la couleur de la ligne et non pas la cellule de départ.
Est ce que je m'en sers d'une mauvaise manière?
Merci
 

JNP

XLDnaute Barbatruc
Re : Cellules colorées

Re :),
Je comprends bien que ton désir soit que cela se passe de manière automatique, mais je doute que ce soit possible :eek:... Pour déclencher une macro toute seule, il faut qu'il y ait ce qu'on appelle une événementielle. Or, par rapport à une feuille, les seules que tu vas pouvoir utiliser sont Change (qui va renvoyer la cellule que tu viens de valider) et Selection_Change (qui va renvoyer la nouvelle sélection). Aucune événementielle, à ma connaissance, ne va renvoyer la sélection précédente :rolleyes:...
Autre solution, tester tout ton tableau et rétablir la mise en forme des cellules vides, mais ça va faire un paquet de test à chaque action, et tu vas avoir l'impression d'échanger une ferrari contre une 2cv :eek:...
La macro que je t'ai faite consiste à rétablir la mise en forme initiale sur les cellules sélectionnées, donc il suffit de faire tes modifs, puis de sélectionner les cellules qui ne sont plus correctes et de la déclenchée. Attention, elle ne remet que le fond, pas les MFC ;)...
D'ailleurs, au niveau des MFC, tes déplcements de cellules vont rapidement devenir ingérables car chaque déplacement va se traduire par l'enregistrement d'une MFC particulière... Il serait beaucoup mieux, cette fois-ci avec une événementielle, de modifier le fond de la cellule en fonction de son contenu, comme ça, pas de tonnes de MFC, et par contre, ma macro fonctionnera parfaitement :p.
Bon courage :cool:
 

julbute

XLDnaute Junior
Re : Cellules colorées

ok, .
Même si ce n'est pas d'une manière automatique c'est déja trés bien,
grandement merci.Je ne sais pas trés bien comment tout cela fonctionne. Est'il possible de mettre dans une variable la position initial de la selection des cellulles?Et de lancer la macro lorsque le déplacement est effectif.Ou de lancer la macro avec les coordonnées de la variable en appuyant sur CTRL+R.
Ce qui n'est pas génant.
Roger
 

JNP

XLDnaute Barbatruc
Re : Cellules colorées

Re :),
NON, je suis désolé, mais je ne connais aucun moyen de rentrer en mémoire la sélection précédente... Fait une demande à Bill Gates, qu'il regarde le problème :D...
Plus sérieusement, le glisser/déposer est un gadget pour la convivialité, je ne pense pas que les ingénieurs de MicroSoft vont se pencher pour une utilisation très rare sur une programmation intuitive :(!
Bon courage tout de même :cool:
 

TooFatBoy

XLDnaute Barbatruc
Re : Cellules colorées

NON, je suis désolé, mais je ne connais aucun moyen de rentrer en mémoire la sélection précédente...
Il me semble que lors du déplacement d'une sélection de cellules, il y a deux passages dans Worksheet_Change : d'abord avec la plage de départ, puis avec la plage d'arrivée.
En suite il y a passage dans Worksheet_SelectionChange avec la plage d'arrivée.

En utilisant un booléen dans Worksheet_Change, il y a peut-être moyen de savoir si on a la plage d'origine ou d'arrivée ?
 
Dernière édition:

Discussions similaires