XL 2010 Changer de couleur une shape bouée

guy72

XLDnaute Impliqué
Bonjour
Je souhaiterais changer la couleur d'une bouée suivant la valeur de la cellule.
MAIS.....ces cellules contiennent une formule, donc cela ne fonctionne pas en automatique.
Ça ne fonctionne que si je saisi les données.
Est-ce normal ou y a-t-il une solution ?
Merci de votre aide

PS: je suis obligé de passer par Cijoint, car mon fichier est trop volumineux

Console
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Guy,
Un essai en PJ avec :
Code:
Public G19save, G20save, G21save, G22save ' Mémorisation des valeurs dans G19 à G22 en publique
Sub Worksheet_Calculate()
    If [G19] <> G19save Then G19save = [G19]: Worksheet_Change ([G19])
    If [G20] <> G20save Then G20save = [G20]: Worksheet_Change ([G20])
    If [G21] <> G21save Then G21save = [G21]: Worksheet_Change ([G21])
    If [G22] <> G22save Then G22save = [G22]: Worksheet_Change ([G22])
End Sub
Cette macro est exécutée à chaque recalcul de la feuille. Donc si une valeur à changée alors on ré actualise les "bouées".
Attention, lire le commentaires en rouge. Une valeur aléatoire a été rajoutée aux formules pour pouvoir tester. Il suffit de faire F9 pour tester.

https://www.cjoint.com/c/MBtvOWmVPVe
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Qu'appelez vous la "bouée du soleil" ? Serait ce celle de droite ?
Pour tester, en mettant dans G22 : =RELEVÉS!AV3+20*ALEA() alors la bouée semble changer de couleur :

20230220_103707.gif

pouvz vous être plus précis dans votre question sur les conditions qui vous pose problème ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Sorry, panne réseau ...
Je continue.
Votre problème vient peut être de votre macro.
VB:
If Not Intersect(Target, Range("G22")) Is Nothing Then
Select Case Target.Value
Case Is = 0
R = 166: G = 166: B = 166
Case Is < 1
Même si vous êtes en format 00:00 cela ne change pas le contenu.
La partie entière représente des jours, la partie décimale la fraction du jour.
Donc "1" signifie 1 jour soit 24H et non 1H.
Essayez de remplacer "1" par "1/24" ce qui fera bien 1H.
Code:
[CODE=vb]If Not Intersect(Target, Range("G22")) Is Nothing Then

Select Case Target.Value

Case Is = 0/24  ' Evidemment ça fait 0, c'est pour la compréhension

R = 166: G = 166: B = 166

Case Is < 1/24
[/CODE]

NB: je ne m'étais pas attaché au fonctionnement de votre très belle usine à gaz, mais uniquement au problème posé. C'est pour cela que j'ai utilisé du ALEA() pour faire les tests.
 

guy72

XLDnaute Impliqué
J'avoue que mon usine à gaz est compliquée pour moi, mais j'essaie de faire comme je peux.
Par contre je te joint le fichier entier, si tu as le temps tu peux voir ce qui ne te parais pas normal ;)
ou simplifier.
Je ne demande pas mieux.
Voir le site dans ma signature
Météo
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'avoue que mon usine à gaz est compliquée pour moi, mais j'essaie de faire comme je peux.
Il n'y a aucune connotation négative dans ce que j'ai dit. Désolé.
Je voulais simplement dire que vu de l'extérieur, votre fichier étant complexe, je me suis focalisé uniquement sur la problématique du titre "Changer de couleur une shape bouée" sans chercher à comprendre le fonctionnement du reste du fichier.

Dans la PJ j'ai mis les temps en /24 et il semble que ça marche, avec :
VB:
'06 - Cercle du Soleil ----------------------------------------------------------------------
If Not Intersect(Target, Range("G21")) Is Nothing Then
Select Case Target.Value
    Case Is = 0 / 24: R = 166: G = 166: B = 166
    Case Is < 1 / 24: R = 255: G = 255: B = 224
    Case Is < 2 / 24: R = 255: G = 255: B = 192
    Case Is < 3 / 24: R = 255: G = 255: B = 160
    Case Is < 4 / 24: R = 255: G = 255: B = 128
    Case Is < 5 / 24: R = 255: G = 255: B = 96
    Case Is < 6 / 24: R = 255: G = 255: B = 64
    Case Is < 7 / 24: R = 255: G = 255: B = 32
    Case Is < 8 / 24: R = 255: G = 255: B = 0
End Select
Shapes("Bouée Soleil").Fill.ForeColor.RGB = RGB(R, G, B)
https://www.cjoint.com/c/MBuoMtyfAcm
 

guy72

XLDnaute Impliqué
J'y est pensé après le message (je me suis mal exprimé)
Je ne pensais pas du tout à une connotation négative, au contraire si je pouvais avoir plus simple ça m'arrangerais.
Par contre j'ai ajouté 4 colonnes (J,K et P,Q) dans l'onglet "Février_20203"
Ça a du perturbé la macro "commentaire" j'ai juste un problème dans la macro, le commentaire arrive 2 cellules avant la bonne (cellule vert clair dans le tableau pluie).
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Qu'appelez vous macro "commentaire" ?
Est ce ici :
VB:
'------Inscription du texte dans un survol commentaire
...
With .Cells(Ligne, Col)
    .AddComment
...
Une chose m'échappe : Col est figé ( Col=37 ), soit en feuille Février_2023 colonne AK, ce qui ne correspond à rien. Ne faudrait il pas figer Col=34 pour être sur la colonne AH qui correspond au jour ?
 

guy72

XLDnaute Impliqué
Edit 1 : Merci, pour la macro "commentaire", ok, ça fonctionne.
Les commentaires ne commence qu'à partir de la colonne AN donc Col = 40
Je n'arrivais pas à trouver cette indication.
Pour le reste, je regarde ça.
 
Dernière édition:

guy72

XLDnaute Impliqué
Bonsoir
Pour La Bouée, ça fonctionne.
Mais ce que je ne comprends pas, c'est que si je copie des données ailleurs dans le tableau, je ne peux plus revenir en arrière (ça fonctionne une fois plus après fini)
Exemple : de la colonne B (T° Ext) dans la colonne O (CH1 ou CH2) je ne peux plus revenir en arrière ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Dans notre charte il est demandé "une question un post", et là, c'est la quatrième question sur des points totalement différents.
Si le futur lecteur est intéressé par le titre "Changer de couleur une shape bouée", je lui souhaite bien du plaisir pour trouver la solution, ... sauf à tout lire, ce qui n'est pas le but.

Ensuite, j'ai l'impression de jouer aux devinettes. Chaque réponse appelle une nouvelle question totalement indépendante, d'autant que c'est relativement "obscur".
Que veux dire "revenir en arrière" ? Vous faites un copier coller et ne pouvez pas annuler l'opération ? ou est ce autre chose ?
Par ex je copie colle T°Ext dans CH1, e je peux faire un Ctrl Z sans problème. soyez plus précis.
 

guy72

XLDnaute Impliqué
Bonjour
Ok, merci pour tout
Si je pose des questions différentes, c'est parce que j'avais l'impression que ça avait un rapport avec mon fichier.
Pour le retour en arrière, c'est revenu comme il faut en ayant arrêter et redémarrer mon ordinateur
Ça ne me surprend pas depuis que j'ai W11, je n'ai que des problèmes.
J'arrête mes questions
Bref, merci encore de ta compréhension.
 

Discussions similaires

Réponses
10
Affichages
509

Statistiques des forums

Discussions
312 185
Messages
2 086 020
Membres
103 097
dernier inscrit
Benduch