A voir également:
- Macro pour une mise en forme sous excel
- Mise en forme conditionnelle excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
3 réponses
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
131
18 mars 2009 à 16:33
18 mars 2009 à 16:33
Bonjour
Si j'ai bien compris, tu as une zone par jour dans la feuille.
1) Comment sont faite ces zones ? toujours 28 lignes ?
du style B10:D37 puis B38:D65 puis B66:D93... ?
cela servira à définir la zone à colorer.
2) si B10 = "Natation" puis B25= "Vélo" ==> bleu jusqu'en D24 puis vert
mais si ajout d'une autre activité ("Bière" par exemple) en C15 que doit-il se passait : jaune de B15 à D25 ou à D37 ?
si suppression en B25 de "Vélo", faut-il blanc ou la couleur supérieure ?
Tu peux déposer ton fichier exemple sur cijoint.fr et coller ici le lien fourni.
LePlot
NB : j'aime pas les sportifs...
Si j'ai bien compris, tu as une zone par jour dans la feuille.
1) Comment sont faite ces zones ? toujours 28 lignes ?
du style B10:D37 puis B38:D65 puis B66:D93... ?
cela servira à définir la zone à colorer.
2) si B10 = "Natation" puis B25= "Vélo" ==> bleu jusqu'en D24 puis vert
mais si ajout d'une autre activité ("Bière" par exemple) en C15 que doit-il se passait : jaune de B15 à D25 ou à D37 ?
si suppression en B25 de "Vélo", faut-il blanc ou la couleur supérieure ?
Tu peux déposer ton fichier exemple sur cijoint.fr et coller ici le lien fourni.
LePlot
NB : j'aime pas les sportifs...
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
131
19 mars 2009 à 10:56
19 mars 2009 à 10:56
Bonjour
http://www.cijoint.fr/cjlink.php?file=cj200903/cijF1KuQWN.xls
Dans le fichier, il y a une macro sur worsheet_Change() qui s'exécute à chaque modification d'une cellule dans la feuille.
Elle s'exécute si tu es dans la zone de saisie (colonne B, E... et ligne entre 10-37, 66-93...)et si la valeur est correcte (natation, vélo, Càp, Divers ou vide) sinon il y a un message (que tu peux modifier ou ôter.
Ensuite, la macro teste les lignes en dessous de la cellule modifiée (target) et change la couleur si elle est vide.
Les couleurs sont prises en B6 à B9.
Si on efface la cellule, la couleur d'au-dessus est reprise sauf s'il s'agissait de la première ligne.
J'ai mis une liste déroulante (données\validation\) pour limiter la saisie autorisée.
J'ai modifié la formule de nombre de séances avec la fonction nb() qui est plus simple que la série de si().
Je vois que la sasie des temps se fait en minute. Il serait possible de le faire directement en heure 00:00 pour plus de simplicité (en modifiant bien sûr les formules de récapitulation)
Leplot
NB : "un bon sportif est un sportif mort" (Pierre de Coubertin)
http://www.cijoint.fr/cjlink.php?file=cj200903/cijF1KuQWN.xls
Dans le fichier, il y a une macro sur worsheet_Change() qui s'exécute à chaque modification d'une cellule dans la feuille.
Elle s'exécute si tu es dans la zone de saisie (colonne B, E... et ligne entre 10-37, 66-93...)et si la valeur est correcte (natation, vélo, Càp, Divers ou vide) sinon il y a un message (que tu peux modifier ou ôter.
Ensuite, la macro teste les lignes en dessous de la cellule modifiée (target) et change la couleur si elle est vide.
Les couleurs sont prises en B6 à B9.
Si on efface la cellule, la couleur d'au-dessus est reprise sauf s'il s'agissait de la première ligne.
J'ai mis une liste déroulante (données\validation\) pour limiter la saisie autorisée.
J'ai modifié la formule de nombre de séances avec la fonction nb() qui est plus simple que la série de si().
Je vois que la sasie des temps se fait en minute. Il serait possible de le faire directement en heure 00:00 pour plus de simplicité (en modifiant bien sûr les formules de récapitulation)
Leplot
NB : "un bon sportif est un sportif mort" (Pierre de Coubertin)
Merci pour ces lignes de programme, après deux heures pour comprendre clairement les instructions (ben oui je ne connais aucune commande) j'ai à peu près pigé, j'ai enlevé le case"" pour mettre case Else (c'est ma perf du jour) puisque j'ai dévérouillé la liste pour pouvoir mettre le détail des activités en plus ça a l'air de marcher.
J'ai quand même des points en suspens :
je comprends pas la différence entre Target et Range. Target c'est le "nom" attribué à la cellule par la fonction range ?
la commande Target.offset(x,y) crée un décalage de x lignes et y colonnes sur l'objet target?
Sinon je trouve que ces lignes de programme sont très élégantes , ça a l'air tellement facile que j'en râle. Bon en même temps j'ai jamais fait que du turbopascal il y a 13 ans en prépa... et la programmation de ma casio8800 au lycée c'est pas les meilleures références je crois...
Je vais potasser l'utilisation du 00:00 pour le temps et faire les modifications sur les formules merci pour l'idée
et surtout merci pour tout.
Brice
J'ai quand même des points en suspens :
je comprends pas la différence entre Target et Range. Target c'est le "nom" attribué à la cellule par la fonction range ?
la commande Target.offset(x,y) crée un décalage de x lignes et y colonnes sur l'objet target?
Sinon je trouve que ces lignes de programme sont très élégantes , ça a l'air tellement facile que j'en râle. Bon en même temps j'ai jamais fait que du turbopascal il y a 13 ans en prépa... et la programmation de ma casio8800 au lycée c'est pas les meilleures références je crois...
Je vais potasser l'utilisation du 00:00 pour le temps et faire les modifications sur les formules merci pour l'idée
et surtout merci pour tout.
Brice
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
131
20 mars 2009 à 09:30
20 mars 2009 à 09:30
Bonjour Brice
Target est une variable transmise comme argument lors de l'appel de worsheet_Change(). Elle correspond à la cellule active au moment de l'appel de la routine. Elle pourrait s'appeler Cible ou XBshdkjhgfj si tu préfères, le tout est de changer l'argument de worsheet_Change().
Range définit une plage de cellules. Dans le code, je l'utilise pour définir une plage en fonction de la cellule active.
Offset permet effectivement de décaler la cellule utilisée en relatif et non en absolu ("B1") ce qui est plus simple quand l'adresse est variable.
LePlot
NB : pour un sportif, tu t'en sors bien.
Target est une variable transmise comme argument lors de l'appel de worsheet_Change(). Elle correspond à la cellule active au moment de l'appel de la routine. Elle pourrait s'appeler Cible ou XBshdkjhgfj si tu préfères, le tout est de changer l'argument de worsheet_Change().
Range définit une plage de cellules. Dans le code, je l'utilise pour définir une plage en fonction de la cellule active.
Offset permet effectivement de décaler la cellule utilisée en relatif et non en absolu ("B1") ce qui est plus simple quand l'adresse est variable.
LePlot
NB : pour un sportif, tu t'en sors bien.
Merci de tes éclaircissements et pour la remarque encourageante mais bon accessoirement je suis prof de maths, mais c'est vrai que l'info n'a pratiquement pas fait partie de mon cursus à part quelques heures sur word internet et c'est tout... J'arrive à comprendre les lignes de prog et à les réadapter pour obtenir exactement ce que je veux mais je peux pas les créer, faudrait un de ces quatre que je potasse tout ça comme il faut en été 2010 peut-être...
En tout cas merci pour tout
Bricedugard
En tout cas merci pour tout
Bricedugard
18 mars 2009 à 17:17
http://www.cijoint.fr/cjlink.php?file=cj200903/cijbOvV9eE.xls voilà le fichier
En fait le fichier se complète une fois les activités faites donc si je me place sur une cellule et je clique natation ca devrait mettre bleu jusqu'en bas et si plus loin je mets vélo ça écrase le bleu pour le vert...
J'ai en partie solutionné mon problème en insérant des boutons (pour macro) qui écrivent Natation et colore la Zone sélectionnée. Je pourrais me contenter de ça...mais en fait là je souhaiterais surtout comprendre comment est construite une macro du genre "j'active natation sur une cellule ça colore en bleu jusqu'en bas ou jusqu'à rencontrer vélo ou CàP ou Bière comme vous l'avez suggéré...
Merci de votre attention
Brice