Remplissage avec couleurs

Bonjour à tous,

Etant novice en programmation VBA, je suis face à une "colle".... J'ai déjà fait tous les tutos sur ce site et site du zéro, mais malgré cela je suis coincé...

J'ai deux feuilles Excel avec sur la première deux colonnes respectivement "début de l'action" et "fin de l'action" et sur la seconde 12 colonnes (représentant les 12mois de l'année) fusionnées sur base de 4 colonnes en dessous, renommées en semaine (semaine 32,33,34,....).

Ma question est la suivante:

je cherche à réaliser une macro qui me permette, lorsque je rentre les dates (par exemple 12-nov-2014 et 25-dec-2014) sur la première feuille, la macro me remplisse les cellules correspondantes en couleur. (style Gratt).

En clair, le VBA devrait "transformer" les dates complètes en numéro de semaines et de là les colorer sur la même ligne .

Après, j'essayerai de les mettre soit en orange - vert ou rouge suivant ce que j'ai sélectionné dans une autre colonne mais je pense que ça c'est plus simple...

Par exemple si j'entre les dates sur la ligne 12, le remplissage s'effectue sur la ligne 12.

C'est vraiment très important et urgent et je suis réellement dans une impasse ...

Merci pour votre aide,

Bonne journée

21forum.xlsm (28.79 Ko)

Re bonjour ,

Pour plus de clarté, je joins le fichier Excel qui pose problème.

Le format de la date doit être celui situé dans "Start date" et, si possible, lorsque le remplissage s'effectue sur les semaines de la page suivantes, la couleur doit être celle qui est placée dans "status" (déterminée par un clique droit et automatiquement placée en colonne I)

Merci beaucoup pour votre aide, bonne journée

Bonjour, je te propose ça (je suis désolé je travaille sur un truc en même temps) : http://office.microsoft.com/fr-fr/excel-help/no-semaine-fonction-HP010343016.aspx

Pour avoir le numéro de la semaine correspondant à une date, je vais voir si je peux t'aider un peu pour l'incorporer à ton code, mais je promet rien

Timothe URVOY a écrit :

Bonjour, je te propose ça (je suis désolé je travaille sur un truc en même temps) : http://office.microsoft.com/fr-fr/excel-help/no-semaine-fonction-HP010343016.aspx

Pour avoir le numéro de la semaine correspondant à une date, je vais voir si je peux t'aider un peu pour l'incorporer à ton code, mais je promet rien

Bonjour Timothe Urvoy,

Merci pour votre réponse. Je connaissais également cette fonction et elle fonctionne dans mon cas.

Le "problème" , c'est qu'étant novice (5 jours...) dans le VBA, je l'ai "automatisé" en sélectionnant les deux colonnes correspondantes.

Le souci se pose pour coder le fait qu'une fois les dates entrées, elles doivent se retrouver colorées aux bonnes semaines sur la feuille suivante.

Merci pour votre aide,

à tout à l'heure et bonne journée !

Bonjour,

Après avoir bossé toute la journée sur ce pb...

Cela me semble extrêmement difficile en l'état actuel du classeur, pour au moins 2 raisons qui sont étroitement liées. (et une multitudes d'autres qui en découlent !)

1- on se base sur des N° de semaine et non sur des dates.

2- comme les semaines sont à cheval sur plusieurs années les N° de semaines vont avoir une "rupture" permanente (le 1er janvier) et ce dans une colonne imprévisible (car les mois n'ont pas tous 4 semaines) et on devine sans peine l'intention de supprimer les mois passés ou/et d'ajouter des mois à venir...

A première vue, cela ne me semble possible qu'avec une feuille par année et un formulaire de saisie indépendant.

Bon ce n'est que mon avis... hein ! Mais j'attend avec impatience la démo d'un contradicteur...

A+

galopin01 a écrit :

Bonjour,

Après avoir bossé toute la journée sur ce pb...

Cela me semble extrêmement difficile en l'état actuel du classeur, pour au moins 2 raisons qui sont étroitement liées. (et une multitudes d'autres qui en découlent !)

1- on se base sur des N° de semaine et non sur des dates.

2- comme les semaines sont à cheval sur plusieurs années les N° de semaines vont avoir une "rupture" permanente (le 1er janvier) et ce dans une colonne imprévisible (car les mois n'ont pas tous 4 semaines) et on devine sans peine l'intention de supprimer les mois passés ou/et d'ajouter des mois à venir...

A première vue, cela ne me semble possible qu'avec une feuille par année et un formulaire de saisie indépendant.

Bon ce n'est que mon avis... hein ! Mais j'attend avec impatience la démo d'un contradicteur...

A+

Bonjour galopin01,

Merci pour votre réponse ! Dans la détresse, je suis "heureux" de voir que mon problème ne se résous pas qu'avec une seule ligne de code étant donné que celà fait déjà 5 jours que je suis dessus

Le modèle peut changer. L'idée de mon programme et de passer donc par le numéro de semaine est d'avoir un seul "modèle" pour chaque année. Cependant, votre remarque est plus que pertinente concernant les changements à effectuer chaque année...

Si je vous suis bien, il serait donc plus facile de remplacer le numéro des semaines par les jours de la semaine sur la deuxième feuille?

Si nous faisons celà, est il possible d'avoir un code qui permette la "mise à jour" des dates chaque année?

Merci beaucoup pour votre aide !

Bonne soirée

Bonjour,

C'est déjà sur cette option que je travaille. En effet il est possible d'organiser l'affichage des mois sur la base de dates (voir dans le modèle les cellules A1, C1...)

Cependant pour diverses raisons(*) il ne me semble pas souhaitable de mettre plusieurs années sur la même feuille.

(*) Toujours à cause du fait que les mois n'ont pas un nombre de semaines constant.

Il semble bien préférable de faire un onglet par année.

Cependant il importe de définir avec précision dès le départ la méthode de calcul du N° de semaine.

Dans le classeur joint la méthode de calcul du premier janvier est toujours la semaine 1, mais il existe d'autres normes...

A+

18forum.xlsm (18.32 Ko)

Bonsoir,

Dans cette nouvelle version il est possible de travailler avec des dates de début et de fin de la même année. (2014 ou 2015)

J'ai supposé qu'il est inutile de créer déjà 2016... mais cela est très facile à modifier en effet j'ai créé une routine pour ajouter des années autant que de besoin...

Pour l'instant l'année 2016 ne sera crée qu'en 2015.

Cette protection est juste pour éviter des fausses manip.

Toutefois on peut créer manuellement des feuilles "normées" en activant la macro "NewYear".

Avec ces feuilles on reporte très facilement les dates dans leurs plages respectives...

C'est un petit peu plus compliqué pour des plages de dates à cheval sur plusieurs années. Je suppose que tes projets ne sont à cheval que sur 2 ans maximum, mais après tout ce n'est pas obligatoire. Aussi sur ce point il me faut une confirmation avant de démarrer car la programmation serait plus compliquée sur des périodes excédant 2 ans...

Pour l'instant j'ai mis une couleur fixe (rouge = 3) mais bien sur il est aisé de mémoriser une variable couleur d'après une palette...

Pour tester il suffit d'entrer une date de début et une date de fin sur la ligne suivante de la "tasks list" : Le coloriage se fait aussitôt dans la bonne feuille dès que les 2 cellules sont valides. Il faut donc veiller à les remplir avec soin avec un Monthview par exemple pour éviter de planter le programme, car la gestion d'erreur est minimum...

En particulier il n'est rien prévu pour l'effacement, mébon... C'est un début et ça devrait déjà te permettre de gratter...

A+

13forum-vg02.xlsm (28.38 Ko)

Bonjour,

Cette version est un peu plus finalisée : Peut-être un peu trop !

La validation se fait quand les 2 dates sont remplies et la couleur choisie.

Pour choisir une couleur : sélectionner la cellule en face des dates (colonne I) et cliquer sur la couleur choisie.

Bon... les boutons, les modules de classe et les monthview, c'est peut être pas ta tasse de thé mais c'est juste pour te montrer que le système fonctionne. (A condition que la durée n'excède pas 2 ans... sinon il faut revoir un peu la prog en conséquence.)

Chez mois le système fonctionne avec un monthview pour la saisie des dates. j'ai essayé de faire en sorte que ça marche même si tu n'as pas de monthview, mais je ne suis pas certain. Me signaler si ça plante...

il y a beaucoup de contrôle de cohérence, mais en insistant on peut encore planter le système (par exemple en mettant une date de début supérieure à la date de fin... ) mébon ça te fait une base de réflexion une peu aboutie. Après à toi de voir comment tu peux aménéger ça à ta sauce.

Je sais que Banzaï a aussi travaillé la dessus et qu'il meurt d'envie de nous proposer son travail : voir aussi de ce coté là ! Il y a plus dans 2 têtes que dans une seule...

Bonne lecture. Bon WE.

A+

29forum-vg03m.xlsm (64.81 Ko)

Bonjour

Complétement différent

A tester

Bonjour Banzaï, le forum,

C'est vrai que je me suis laissé piégé dès le départ avec cette idée qu'il était plus pratique de séparer les années sur des feuilles différentes, mais tant qu'à faire c'est sur que c'est à peine plus difficile de les mettre toutes en lignes.

Bien réfléchi...

A+

Bonjour

Bonjour galopin01

La partie la plus compliquée (pour moi) a été la conception du tableau

Trouver les bons mois en fonction de la semaine a été une étape difficile

Cela serait bien si quelqu'un peut trouver une autre méthode que celle que j'ai utilisée

Pour voir la méthode employée faire un point d'arrêt dans la macro Construction à cette ligne

  For I = ColDep To ColFin + 1

car après ce n'est que du design

Bonsoir,

Hum...j'ai pas trouver comment la faire marcher... mais je n'ai pas cherché !

Mais j'ai à compris ta manière de voir les choses.

Je vais essayer de gratouiller sur cette conception.

A+

Banzai64 a écrit :

Bonjour

Bonjour galopin01

La partie la plus compliquée (pour moi) a été la conception du tableau

Trouver les bons mois en fonction de la semaine a été une étape difficile

Cela serait bien si quelqu'un peut trouver une autre méthode que celle que j'ai utilisée

Pour voir la méthode employée faire un point d'arrêt dans la macro Construction à cette ligne

  For I = ColDep To ColFin + 1

car après ce n'est que du design

Bonjour Banzai64, Bonjour le forum,

Merci beaucoup pour votre aide !! La routine est incroyable !

Concernant le bouton rétablir, j'avoue ne pas comprendre son "utilité" (sorry encore, je suis novice...). Si je comprends bien, si la boucle plante, en appuyant sur rétablir, elle arrête de tourner?

Ma seconde question est concernant la feuille avec tous les mois de départ. Si je comprends bien, lorsque je veux ajouter des années, je continue de compléter ces colonnes?

Enfin, je ne comprends pas ce que vous cherchez à présent avec galopin01, j'aimerais essayer dans ma petite mesure à y contribuer..

Encore merci pour tout, bonne journée !


galopin01 a écrit :

Bonjour,

Cette version est un peu plus finalisée : Peut-être un peu trop !

La validation se fait quand les 2 dates sont remplies et la couleur choisie.

Pour choisir une couleur : sélectionner la cellule en face des dates (colonne I) et cliquer sur la couleur choisie.

Bon... les boutons, les modules de classe et les monthview, c'est peut être pas ta tasse de thé mais c'est juste pour te montrer que le système fonctionne. (A condition que la durée n'excède pas 2 ans... sinon il faut revoir un peu la prog en conséquence.)

Chez mois le système fonctionne avec un monthview pour la saisie des dates. j'ai essayé de faire en sorte que ça marche même si tu n'as pas de monthview, mais je ne suis pas certain. Me signaler si ça plante...

il y a beaucoup de contrôle de cohérence, mais en insistant on peut encore planter le système (par exemple en mettant une date de début supérieure à la date de fin... ) mébon ça te fait une base de réflexion une peu aboutie. Après à toi de voir comment tu peux aménéger ça à ta sauce.

Je sais que Banzaï a aussi travaillé la dessus et qu'il meurt d'envie de nous proposer son travail : voir aussi de ce coté là ! Il y a plus dans 2 têtes que dans une seule...

Bonne lecture. Bon WE.

A+

Bonjour Galopin01 ,

Merci pour votre aide !

Je n'ai cependant pas réussi à ouvrir la dernière version, la macro ne s'effectue visiblement pas...

Concernant la V02, elle tourne parfaitement , merci ! Effectivement, j'ai cru observer un "plantage" lors d’événements plus longs...

A présent, vous vous posez encore une question avec Bonzaï, j'espère pouvoir vous aider...

Merci encore pour votre aide ,

Bonne journée !

Bonjour

thslt91 a écrit :

bouton rétablir

Comme indiquée ce bouton ne sert qu'à "réenclencher" les évènements

Si la macro, pour une raison ou une autre, se plante (généralement tu auras un message d'erreur) et qu'ensuite tu constates que plus rien ne se passe lorsque tu changes de mois ou d'année ou que tu inscrives de nouvelles dates, il suffit de cliquer sur ce bouton pour que les évènements (principalement la modification d'une cellule) se déclenche et ainsi que le programme fonctionne

thslt91 a écrit :

Ma seconde question est concernant la feuille avec tous les mois de départ. Si je comprends bien, lorsque je veux ajouter des années, je continue de compléter ces colonnes?

Si tu veux ajouter des années tu modifies la colonne contenant les années et tu rectifies la zone nommée "LesAns"

thslt91 a écrit :

Enfin, je ne comprends pas ce que vous cherchez à présent avec galopin01

C'est d'améliorer la routine de création du tableau, trouver une méthode plus simple

Banzai64 a écrit :

Bonjour

thslt91 a écrit :

bouton rétablir

Comme indiquée ce bouton ne sert qu'à "réenclencher" les évènements

Si la macro, pour une raison ou une autre, se plante (généralement tu auras un message d'erreur) et qu'ensuite tu constates que plus rien ne se passe lorsque tu changes de mois ou d'année ou que tu inscrives de nouvelles dates, il suffit de cliquer sur ce bouton pour que les évènements (principalement la modification d'une cellule) se déclenche et ainsi que le programme fonctionne

thslt91 a écrit :

Ma seconde question est concernant la feuille avec tous les mois de départ. Si je comprends bien, lorsque je veux ajouter des années, je continue de compléter ces colonnes?

Si tu veux ajouter des années tu modifies la colonne contenant les années et tu rectifies la zone nommée "LesAns"

thslt91 a écrit :

Enfin, je ne comprends pas ce que vous cherchez à présent avec galopin01

C'est d'améliorer la routine de création du tableau, trouver une méthode plus simple

Bonjour Banzai64, bonjour le forum

En essayant le planning sous toutes ces coutures, j'ai remarqué un petit "bug" et j'ai également une question...

Si je décide de rajouter des années, je vais dans la colonne correspondante, j'incrémente et je refais une validation des données.

Cependant, lorsque je fais celà, pour les années uniquement 2021 à 2023, il incrémente en ...+2 Je ne sais pas ce qui plante au sein du programme...

Ma seconde et dernière question, si je souhaite modifier le format de la date pour passer à une version "anglaise" donc jj-mmm(en anglais)-aaaa , si je change le format de la cellule, la programmation plante et ne colore pas le segment...

Savez vous comment je peux modifier celà au sein du code?

Ci-joint, je vous soumet le document "qui pose problème"

Merci pour tout !

Bonne après-midi

10probleme-forum.xlsm (38.03 Ko)

Bonjour

Très utiles ces tests

Pour le problème de ces années je pense que la semaine du 1er du mois (Janvier) retournée fait partie de l'année précédente et c'est cela qui pose problème (enfin j'espère que c'est ça)

Ensuite pour ton format de date, n'ayant pas de version Anglaise, je ne sais pas comment faire, j'ai modifié le format de date (ton format mais avec le mois en Français) et pas de soucis

A tester

Banzai64 a écrit :

Bonjour

Très utiles ces tests

Pour le problème de ces années je pense que la semaine du 1er du mois (Janvier) retournée fait partie de l'année précédente et c'est cela qui pose problème (enfin j'espère que c'est ça)

Ensuite pour ton format de date, n'ayant pas de version Anglaise, je ne sais pas comment faire, j'ai modifié le format de date (ton format mais avec le mois en Français) et pas de soucis

A tester

Bonjour Bonzai64,

Merci pour votre solution de date, tout fonctionne à présent !

Concernant la date en anglais , j'ai également Excel en français mais je voulais juste pouvoir les entrer en anglais sous le format suivant : 18-feb-2014. lorsque je l'entre ainsi, il me dit que le format n'est pas bon.

J'aimerais donc, si possible, le "créer", et le mettre comme celà par défaut : jj-mmm-yyyy (en anglais)

Avez-vous une idée?

Merci pour toute votre aide, bonne après-midi

Bonjour

Pas la peine d'appuyer sur "Citer" pour répondre tu as un bouton ....."Répondre" en bas à gauche du message que tu lis

Sinon pour la date j'ai mis un "m" de trop, vas dans format de cellule et modifies le format

Clic droit --> format de cellule-->Onglet "Nombre" --->personnalisée

thslt91 a écrit :

Avez-vous une idée?

A part celle que j'ai (un peu) détaillée, je n'en ai pas d'autre

Rechercher des sujets similaires à "remplissage couleurs"