Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Kaze
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

Kaze

Guest
Bonjour à tous,

Peut être connaissez vous le Market Profile? C'est une représentation des prix et plusieurs ouvrages américains ont été écrit sur le sujet.
Je joins un fichier comportant les données sur une feuille et sa représentation en Market Profile sur une autre.
J'ai ajouté sur la feuille des données les lettres correspondant à chaque demi heure de la journée pour plus de clarté.
Dans l'exemple, la première 1/2 heure utilise la lettre A et les prix durant cette période ont varié de 1.1799 à 1.1783.
Dans le Market Profile j'ai reporté la lettre A sur chacun des prix entre ces 2 bornes (manuellement). Puis la lettre B...etc, chaque journée étant répartie sur une colonne. Ici il s'agit de l'EUR/USD pour la journée du 7 décembre.
J'aimerais le faire automatiquement avec une macro.
Je remercie la personne qui pourrait m'aider.
@ +
 
Bon j'ai refait le fichier en rassemblant tout sur 1 feuille et en ne gardant que la 1 ère heure. Le fichier zippé affiche 3 KB. l'heure 1:00:00 ou le prix 1.1799 sont ils des caractères spéciaux? Dernier essai pour aujourd'hui. [file name=MP7.zip size=2483]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MP7.zip[/file]
 

Pièces jointes

Bonsoir Kaze,

En faisant une comparaison des forchettes de valeurs avec chaque prix, on obtient une matrice verticale correcte des résultats (en clair par exemple A sur une ligne puis B sur une autre).

En fait, il faut concatener les résultats de la matrice pour avoir 'AB' dans la même cellule.

Cette fonction n'existe pas en standard sur XL, mais a été développée dans une macro complémentaire que je te propose de télecharger à l'adresse suivante:

Ce lien n'existe plus

nom de la macro: morefun.xll

Tu y trouveras la fonction MCONCAT qui permet d'écrire la formule suivante:

Bref, après plusieurs éditions, impossible d'obtenir la formule correcte, le système enlève des caractères. La formule se trouve donc dans le fichier joint.


A saisir sous forme matricielle (Ctrl Maj Entrée au lieu de Entrée).

Tu peux voir le résultat dans le fichier joint (une fois morefun installée).

@+

Gael [file name=MP7_V1.zip size=3681]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MP7_V1.zip[/file]

Message édité par: Gael, à: 09/12/2005 19:06

Message édité par: Gael, à: 09/12/2005 19:07

Message édité par: Gael, à: 09/12/2005 19:09

Message édité par: Gael, à: 09/12/2005 19:10

Message édité par: Gael, à: 09/12/2005 19:12

Message édité par: Gael, à: 09/12/2005 19:15
 

Pièces jointes

Salut Gael,
Merci pour ton aide. J'arrive au résultat voulu sans utiliser la programmation VBA...
J'ai encore une question: est il possible d'afficher temporairement les résultats sans concatener les lettres sur une même cellule? Par exemple une cellule 'AC' deviendrait 'A' et 'C' séparées par une cellule réservée à la lettre B. Je dis temporairement car je voudrais pouvoir revenir à la cellule concatenée 'AC'. Cela est il compliqué?
Bon week end.
Olivier
 
Bonjour Kaze,

Tu peux modifier légèrement la formule pour mettre un caractère spécial pour chaque lettre sans correspondance. La fin de vla formule peut être par exemple:

...$E$2:$E$29&',';'*,'...

c'est à dire qu'on ajoute une ',' après chaque lettre et on met un '*' s'il n'y a pas de lettre ce qui donne:

A,B,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,

Tu peux ne pas mettre la virgule mais l'intérêt est de pouvoir copier le résultat dans un autre cellule puis faire données convertir en choisissant ',' comme délimiteur ce qui va mettre une valeur par cellule.

Si tu mets seulement la virgule et pas d'*', les cellules sans lettre resteront vides après conversion.

n'oublie pas si tu modifies la formule de faire Ctrl-Maj-Entrée au lieu de Entrée pour la valider en tant que formule matricielle (avec les accolades).

@+

Gael
 
Rebonjour Kaze,

Désolé pour mon post précédent dont la solution est un peu tordue, en fait je n'avais pas trop réfléchi et il y a beaucoup plus simple:

en remplacant le MCONCAT par TRANSPOSE, tu transforme la matrice verticale en matrice horizontale et tu auras directement ton résultat dans des cellules séparées.

La formule doit être saisie pour l'ensemble des cellules:

* Tu modifies la formule avec transpose
* Tu sélectionnes autant de cellules que de lettres possibles, la première cellule contenant la formule.
* Tu cliques sur la formule dans la barre de formules et tu fais Ctrl-Maj-Entrée.

La matrice résultante sera entièrement copiée dans chaque cellule.

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
1
Affichages
398
M
Réponses
9
Affichages
1 K
M
L
Réponses
7
Affichages
3 K
leodaedo
L
S
Réponses
14
Affichages
2 K
P
Réponses
12
Affichages
9 K
V
  • Question Question
2
Réponses
18
Affichages
3 K
F
Réponses
3
Affichages
809
D
Réponses
4
Affichages
1 K
doubidou
D
C
Réponses
24
Affichages
3 K
C
G
  • Question Question
Réponses
0
Affichages
1 K
gaetan661
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…