Autres changement de couleur et valeur d'une cellule

remi caron

XLDnaute Nouveau
Bonjour
Je joints un fichier qui j'espère sera utile
mon but est lorsque je clique sur une cellule et que la première cellule de la colonne est vbred les changements de couleur et valeur se fasse après l'entrée d'un 1 suivi du enter
je tourne en rond et j'ai essayé de mettre en place des éléments de plusieurs exemples .....sans succès
merci de vous pencher sur mon problème
jÈai excel 2007 mais le fichier sera utilisé par un utilisateur utilisant excel 2013
 

Pièces jointes

  • Book2.xlsm
    25.6 KB · Affichages: 36
Solution
Ca, il fallait le deviner. :)
En PJ un nouvel essai, en espérant être pas trop loin de la plaque. Sinon spécifiez plus finement.
Donc ça passe en rouge si la date est sélectionnée, il y a un nom en colonne B et si on a entré un 1.
Pour 2,3,4 rien n'est fait.

fanfan38

XLDnaute Barbatruc
Bonsoir
J'ai pas tout compris
VB:
flag = True  ' pour les besoins de la cause car flag = true est dans une autre macro
If flag = False Then 'il ne sera jamais false vu la ligne du dessus
    Exit Sub
Else
ancienne_colonne = activecell.Column
ancienne_cellule = activecell.Address 'annule la ligne precedente
flag=true et la ligne si flag=false?
ancienne_colonne=activecell.Column et juste après ancienne_cellule = activecell.Address
et en plus ça ne sert à rien puisque target.interior.color est identique...
si la couleur=14545386 donc marche pas la couleur etant 14610923...
pourquoi ne pas faire simplement si target .column<17 and target.column>20 then exit sub
select case range("C10").value, etc...
Bien que quelque soit la valeur de c10 tu met en rouge
A+ François
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Rémi et bienvenu sur XLD, Bonjour Fanfan,
D'accord avec Fanfan, la requête est incompréhensible.
Dans le cas où la demande serait :
1- On clique sur une date de conférence, elle passe en rouge et seule cette date est concernée.
2- Je dois pointer les absents et les présent.
Alors un essai en PJ.
Un clic sur une cellule "verte" passe de rien à X ou de X à rien, et fait l'inverse sur la colonne d'à coté, si évidemment la cellule en B contient un participant .
( qui n'est pas présent est absent )
On comptabilise les présents et absents en ligne 10.
 

Pièces jointes

  • Book2(V2).xlsm
    26.2 KB · Affichages: 2

remi caron

XLDnaute Nouveau
merci de me répondre
je teste la version de Sylvanu et vous reviens.
flag est défini pas une autre macro c'est pour ĉa que j'ai écrit égale false là pour donner toute cette macro.
la cellule Q1 est mise en rouge par une macro et la cellule C10 passe à un et après par d'autres calculs à 2 etc.
je ne sais pas au départ dans quelle colonne l'utilisateur va cliquer donc quelle conférence sera choisie
si Q1 est rouge c'est que j'ai déjà envoyé la liste des présents contrairement à la colonne S1
merci
 

remi caron

XLDnaute Nouveau
j'ai regardé la version de Sylvanu.
je ne peux pas je crois utiliser des formats conditionnels car je dois entrer un 1 pour confirmer la présence
absents ne veut pas dire qu'il ne sera pas là mais qu'il a averti pour dire qu'il n'y sera pas donc je ne peux pas passer du oui au non de cette manière
de plus si j'ai envoyé la liste 4 fois les gens qui sont sur la liste de la quatrième fois on un 4 dans la cellule présents
merci pour la couleur mon erreur
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ca, il fallait le deviner. :)
En PJ un nouvel essai, en espérant être pas trop loin de la plaque. Sinon spécifiez plus finement.
Donc ça passe en rouge si la date est sélectionnée, il y a un nom en colonne B et si on a entré un 1.
Pour 2,3,4 rien n'est fait.
 

Pièces jointes

  • Book2(V3).xlsm
    27.3 KB · Affichages: 3

remi caron

XLDnaute Nouveau
je joins le fichier complet
Application.EnableEvents = True se fait dans le userform6 par le commandbutton1
lorsque l'on fait ajouter une présence on entre une lettre seulement pour faire dérouler la liste de centaines de nom
lorsque l'on cré une liste la liste est crée dans l'onglet Liste de présents toujours dans cette feuille si le jour de l'envoi prévu est arrivée on clique sur envoyer par courriel l'adresse est en J1
cette action change la cellule C10 de 0 à 1 de 1 à 2 la prochaine fois et met en rouge la cellule 1 de la colonne que l'on a envoyer
lorsque l'on envoi pour la deuxième fois ou troisièmme..... la liste ne devient qqu'un addendum donc sur les présents qui on un 2 ou un 3....
sur la feuiie liste des présents je change ce chiffre toujours pour un car l'autre personne peut ne pas comprendre et dire il sera 2..3...4..5..6
SVP ne riez pas trop de mon code car je ne suis qu'un amateur à la retraite qui aime s'amuser avec excel et vba pour passer le temps surtout ces jours ci
par contre j'aime apprendre
 

Pièces jointes

  • demande d'aide.xlsm
    233 KB · Affichages: 5

remi caron

XLDnaute Nouveau
j'entre toujours 1 mais si la feuille liste des présent a été envoyépar courriel après si j'entre 1 il devient 2 après un autre envoi il devient 3 ....
ce qui me permet de savoir dans quel envoi quelqu'un était et si il était dans 2 et plus alors il m'a envoyé sa présence en retard
si tu veux essayé dans J1 de liste de présents place ton courriel
je ne sais pas si cette pratique peut ce faire mais au cas
en attendant que tu es l'amabilité de me répondre je regarde ton fichier
merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je n'ai toujours pas compris. Qu'est ce qui cloche dans la PJ du post #6 ?

D'autre part il ne faut pas mettre de Application.EnableEvents = False sans un True le plus tôt possible car sinon aucun event n'est détectable.
Et pourquoi avoir mis cet Application.EnableEvents = False dans un userform ?
 

remi caron

XLDnaute Nouveau
le fichier version3 est vraiment pas loin de la vérité
au moin vous ne tourné pas en rond comme moi
le Application.EnableEvents = False dans le userform était pour empêcher le recaucul de la feuille lorsque d,autres data sont entrée
demain matin je regarde de nouveau votre fichier et j'essai de l'adapté car le départ me semble être ce que je veux faire
bonne soirée à vous et selon votre disponibilité peut être à demain
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Application.EnableEvents = False est utiisé pour invalider la détection d'événements comme le clic souris, changement d feuille, ....
Figer le calcul automatique c'est Application.Calculation = xlCalculationManual et Application.Calculation = xlCalculationAutomatic pour revenir en automatique.
 

remi caron

XLDnaute Nouveau
merci pour l<explication
j'ai regardé le code et il va bien mais je ne peut définir le target rangée Q et T parce que je rajoute des conférences à raison de une par mois
donc dans X temps Q et R vont être caché
Dans R je ne veut pas de rouge alors j"ai vérifié si la colonne était pair
les cellules en rouge en ligne 1 reste toujours en rouge mais lorsque la date est passée je pourrais les changer de couleur est ce que ce serait une solution pour trouver le target ??
merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Si, au lieu de masquer les 4 colonnes, et de rajouter des colonnes après, vous insériez des colonnes avant, alors les dates conférences seraient toujours en colonne QRST, et la macro serait toujours opérante.
De plus cette insertion pourrait être automatique. Voir PJ ( code non optimisé, brut de fonderie )
 

Pièces jointes

  • Book2(V4).xlsm
    34.4 KB · Affichages: 3

remi caron

XLDnaute Nouveau
vous avez effectivement raison le petit hic c'est beaucoup de changements ailleurs
je joints votre fichier avec votre solution qui m'empêche de tourner en rond
je l'ai modifier comme vous verrez et cela fonctionne bien sauf sauf sauf au départ Q n'est pas rouge et C10 est à 0
je cherche une manière d'écrire une condition pour ce cas le résultat sera alors que je pourrai entrer un 1 dans la cellule et la mettre rouge
 

Pièces jointes

  • Book2(V5).xlsm
    26.9 KB · Affichages: 6

Discussions similaires