couleurs conditionelles

S

sympa

Guest
Bonjour à tous,

J'ai passé beaucoup de temps à chercher comment appliquer une mise en forme conditionnelle sur un historique, mais je n'y arrive pas. Alors si quelqu'un pouvait m'aider ce serait sympa.
La quantité s'affiche en colonne B ou D suivant qu'il s'agit d'un achat ou d'une vente. Seule la dernière quantité s'affiche dans ces colonnes mais l'historique permet de voir les précédentes actions. J'aimerais différencier les achats des ventes avec des couleurs. MFC ou macro peu importe.
Je joins un fichier exemple avec quelques notes, ce sera plus clair.

Merci et bon weekend. [file name=couleur_20060414154058.zip size=7004]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/couleur_20060414154058.zip[/file]
 

Pièces jointes

  • couleur_20060414154058.zip
    6.8 KB · Affichages: 28

Gruick

XLDnaute Accro
Salut Sympa, heureux de te revoir.
il suffit de rajouter qq lignes à la macro, au passage j'ai supprimé le N2 qui sert à rien, vu que c'est la copie de N1.

V'la la macro

Sub histo()
Dim N1 As Integer
N1 = Range('G65536').End(xlUp).Row + 1
If Range('G65536').End(xlUp).Value diff. Range('A12').Value Then
Range('G' & N1).Value = Range('A12').Value
If Range('A14') = 'A' Then
Range('G' & N1).Font.ColorIndex = 5
Else
Range('G' & N1).Font.ColorIndex = 3
End If
Range('F' & N1).Value = Range('A13').Value
End If
End Sub

Remplaces le mot diff de la 3ème instruction par les signes plus grand plus petit, ces deux la ne passent pas dans les envois
Voilà, à plus
 
S

sympa

Guest
Salut Gruick,

Merci Gruick, ça marche impec. Je vais essayer ca mardi avec des cours réels.
Moi aussi content de te revoir. J'espère que tout est OK pour toi.
Grâce à ce forum je m'améliore dans la compréhension de VB.

@+
Amitiés et bon week end
 
S

sympa

Guest
Bonjour Gruick, le forum

J'ai adapté ta macro sur ma feuille et après essais j'ai parfois quelques erreurs dû à ma définition de achat-vente. Je ne sais comment rajouter une condition lorqu'il y a changement de fourchette de prix.
If Range('A14') inferieur Range('A14').Value n'est pas correct. Alors si tu as une idée...
Je joins un fichier explicatif.
Merci encore.

@+ et bonne journée. [file name=color.zip size=8225]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/color.zip[/file]
 

Pièces jointes

  • color.zip
    8 KB · Affichages: 29
  • color.zip
    8 KB · Affichages: 36
  • color.zip
    8 KB · Affichages: 28

Gruick

XLDnaute Accro
Salut Sympa,

Désolé du retard à l'allumage, il y a une vie hors XLD, mais dès que je peux....

Supprimes la première condition if et son end if, celle -ci est liée à la quantité, si on vend autant qu'on achète, il faut le dire dans l'historique.

Je ne comprends pas la position neutre, qu'apporte-t-elle dans l'historique, ou il faudrait mettre 0 dans les quantités. Comme ça tu auras l'historique des cours dès qu'ils changent.

La colonne prix ne sert à rien aussi.
Décidément, je suis un destructeur.

Bon, je t'envoie un truc sous mac, tu connais le processus. [file name=Sympa.zip size=10685]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Sympa.zip[/file]
 

Pièces jointes

  • Sympa.zip
    10.4 KB · Affichages: 29
S

sympa

Guest
Salut Gruick,

Merci pour ton aide bien précieuse.
Ne t'inquiète pas il n'y a pas d'urgence avec moi. En fait j'en suis encore à la conception d'une nouvelle feuille qui fait le distingo entre les achats et les ventes. Celle que tu me proposes est très bien et effectivement je vais supprimer le 'neutre' en noir.
Par contre le problème du changement de fourchette de prix reste entier. Dans le carnet en réel c'est instantané et par exemple lors d'une vente la condition qui est If Range('B1') inférieure ou égale Range('A6') n'est plus bonne sur cette transaction car B1 = B6 (le prix en A6 s'étant déplacé en B6). Le résultat est donc une vente représentée en bleue. Les lignes suivantes sont correctes, seul l'instant du changement de fourchette est érroné dans la majorité des cas. idem lorsque la fourchette monte et que l'achat faisant monter celle ci devient rouge. Je pense qu'il faudrait rajouter une condition, je vais y réfléchir ce week end. Si tu as une proposition elle est naturellement bienvenue.

Bon week-end.
Olivier
 

Gruick

XLDnaute Accro
Salut Sympa,

Il fait beau, mais un peu d'XLD, c'est bien aussi.

Tu derais t'inscrire comme membre, tu aurais ainsi sur ta messagerie privée XLD et outlook (ou autre) un accès instantané.

La notion de fourchette qui change n'était pas évoquée dans la question initiale, aussi, ma macro n'en tient pas compte.
Le problème est que ce type de macro se déclanche après chaque changement (donc 4 possibilités), c'est le principe de la macro évènementielle. Même pour y remettre la même chose, d'où mon test final pour annuler la dernière action si elle est le reflêt de l'avant-dernière. Est-ce probable dans le réel racheter ou revendre la même chose en quantité semblable?
Je pense donc à mettre le test final au début, avec une hypothèse supplémentaire sur la fourchette, ce qui obligerait à garder l'ancienne pour la comparer. Si réponse oui, ExitSub vengeur.
Dis-moi ce que tu en penses.
Allez, à plus.
Flûte ! la macro est son propre piège, dès qu'elle change elle-même quelque-chose, elle se réenclanche. Je préconise l'intervention humaine.

Message édité par: Gruick, à: 22/04/2006 11:21
 
S

sympa

Guest
Bonjour Gruick,

Merci d'avoir encore passé du temps sur mon problème. Peut être est il impossible d'écrire en code 'si le prix en A6 baisse alors...' ??

J'ai essayé de mon côté différentes choses mais lorsque j'obtiens la bonne couleur lors du changement de fourchette, le restant n'est plus bon (2 conditions opposées sont identiques).
L'intervention par msgbox n'est pas possible.
Je vais laisser reposer dans l'immédiat, le résultat actuel est déjà bien.

Amitiés et bon week-end.
PS: Je vais m'inscrire sur ce forum que j'aime bien.
 

Gruick

XLDnaute Accro
Bonjour Sympa,

J'ai eu un peu temps aujourd'hui, ce que je garantie pas tous les jours, alors je me suis remis sur ton problème.

Ce n'est qu'une ébauche, une réflexion. Dis-moi si j'ai bien compris le mecanisme.

Il faudrait savoir si les données arrivent manuellement, ou par une autre macro. la quantité surtout.

A plus. [file name=Sympa_20060424171353.zip size=13891]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Sympa_20060424171353.zip[/file]
 

Pièces jointes

  • Sympa_20060424171353.zip
    13.6 KB · Affichages: 23

sympa

XLDnaute Nouveau
Bonjour Gruick,

Je pensais en avoir terminé avec cette file mais j'ai un truc bizarre que je ne m'explique pas.
J'ai changé les 2 formules en D2 et E2 et ce changement me déclenche une boucle sur l'historique que je dois arrêter manuellement. Pourtant les résultats de ces formules sont bons.
Je te joins mon fichier, si tu as un moment pour y jeter un coup d'oeil.
Amitiés.
Olivier [file name=sympa2.zip size=7489]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sympa2.zip[/file]
 

Pièces jointes

  • sympa2.zip
    7.3 KB · Affichages: 31

Gruick

XLDnaute Accro
Salut Sympa,
Un week end prolongé en famille, loin de XLD, malgré quelques visites de contrôle, mais...
heureux que tu aies trouvé une solution, que je ne connaissais pas, d'ailleurs.
Juste un petit conseil,
Ton premier test ne répondra qu'aux valeurs positives, puisque ta quantité est toujours positive.
Aussi, modifies-le comme suit :
Code:
If Abs(Range('H' & i).Value) ‹› Range('B3').Value Then
Bonne continuation.
 

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch