Macro ou pas Macro ?

Bonjour le forum,

J'ai un fichier (voir PJ) qui fait 65000 lignes avec 4 colonnes qui m'intéressent particulièrement. J'aimerai savoir s'il est possible de demander à excel avec ou sans macro (de préférence sans macro) de faire des calculs simples.

Evidemment, j'ai tout de même progressé en Excel, j'arrive à lui faire faire des calculs simples lorsque ces calculs sont à exécuter sur toutes les lignes.

Dans le cas que je vous soumets, il ne faut pas que les calculs soient exécutés sur toutes les lignes, mais seulement sur les lignes avec MFC.

Dans chacque colonne, il y des chiffres qui ont une MFC en rouge ou en vert. Celles sans MFC sont en noir. Seules les chiffres en rouge et en vert rentrent dans l'opération. Les autres ne présentent aucun intérêt.

Ce qui complique encore la tâche (enfin pour moi!) c'est qu'il n'y a pas nécessairement d'alternance entre les chiffres rouges et verts.

Par exemple, dans le fichier joint, les cellules I3, I25, I27 sont verts et la cellule I57 en rouge.

Ce dont j'ai besoin c'est que d'une manière ou d'une autre, excel calcule la difference entre I3 et I57 sans tenir compte des cellules I25 et I27.

Ensuite, il faudrait caluler la différence entre la première cellule en rouge, ici I57 avec la prochaines cellule en vert. Pour I57, la différence se fera avec I63. A noter que même si I59 et I61 étaient en rouge, il ne faudrait prendre en compte que la première cellule d'une serie (rouge ou verte) pour faire la différence avec la première cellule de l'autre serie (rouge ou verte).

J'espère que cela n'est pas confus, et votre aide sera grandement apprécié.

Max.

7macro-essai.xlsx (26.16 Ko)

Bonjour,

j'ai bien compris le calcul à faire

mais je n'ai pas compris la logique des MFC ... peux-tu expliquer quand c'est rouge et quand c'est vert ?

le calcul ne pourra pas détecter la couleur d'une MFC, on doit se baser sur les critères de la mise en couleur

Bonjour Steelson,

Bien sûr, pourquoi n'y ai je pas pensé ? Sans doute que je suis nul.

La logique de la MFC est la suivante.

Colonne I : ROUGE=ET(I2<>I1,I2>J2) VERT=ET(I2<>I1,I2<J2)

Colonne J : ROUGE=ET(J2<>J1,J2>I2) VERT=ET(J2<>J1,J2<I2)

Colonne K : ROUGE=ET(K2<>J1,J2>L2) VERT=ET(K2<>J1,J2<L2)

Colonne L : ROUGE=ET(L2<>L1,L2>K2) VERT=ET(L2<>L1,L2<K2)

Cellules coloriées en gris pour toutes les colonnes GRIS =I72<>I71

Petite précision pour le calcul, si cela est possible de le préciser au macro/

ROUGE-VERT (i57-i63) 144.966-144.89=0.076

-VERT+ROUGE (-i3+i57) -144.09+144.966=0.876

Autrement dit, la cellule rouge est toujours le premier opérateur(?) dans la soustraction.

Merci bien et très bonne semaine.

Max

La logique de la MFC est la suivante.

Colonne I : ROUGE=ET(I2<>I1,I2>J2) VERT=ET(I2<>I1,I2<J2)

Colonne J : ROUGE=ET(J2<>J1,J2>I2) VERT=ET(J2<>J1,J2<I2)

Colonne K : ROUGE=ET(K2<>J1,J2>L2) VERT=ET(K2<>J1,J2<L2)

Colonne L : ROUGE=ET(L2<>L1,L2>K2) VERT=ET(L2<>L1,L2<K2)

ok j'avais lu, mais en français quelle est la logique ? cela m'aiderait ...

[/quote]ok j'avais lu, mais en français quelle est la logique ? cela m'aiderait ...

[/quote]

Pardon Steelson, je n'avais pas bien saisi ta demande.

Le but (car je ne suis pas certain que "ma" logique soit logique) est de valider ou d'invalider ce qui est identifé comme étant un tournant dans l'évolution d'un prix. Néanmoins, voici comment sont obtenus les résultats dans les colonnes E,F,G et H.

E=SI(ET(D2<0,A2<MIN(B2,C2)),A2,E1)

F=SI(ET(D2<0,A2>MAX(B2,C2)),A2,F1)

G=SI(ET(D2<0,A2>MAX(B2,C2)),A2,G1)

H=SI(ET(D2>0,A2>MAX(B2,C2)),A2,H1)

J'ai mis un nouveau classeur avec les nouvelles données conformément à ta demande. J'espère avoir bien compris ta demande cette fois-ci.

Merci encore.

Max

5macro-essai-2.xlsm (69.56 Ko)

un premier résultat sur colonne E sans macro

reste à traiter le cas de la répétition des valeurs rouges successives ...

donne déjà à ce stade ton avis

3macro-essai-2.xlsx (96.95 Ko)

un premier résultat sur colonne E sans macro

reste à traiter le cas de la répétition des valeurs rouges successives ...

donne déjà à ce stade ton avis

Woauww, sans macro c'est mieux qu'avec macro, parce qu'il y a espoir qu'un jour j'y arrive comme j'y suis arrivé à me débrouiller avec les fonctions SI OU ET combinées.

C'est vraiment génial et je n'ai absolument aucune remarque à faire.

Comme je ne suis vraiment pas un enquiquineur, je trouve que le problème de la répétition des valeurs rouges est secondaire, si cela est compliqué ou chronophage pour vous de trouver une solution à ce problème. On pourra remettre cela à plus tard.

Faisons un essai en l'état de votre proposition en completant avec les verts, étant précisé que la soustraction sera inversé (Rouge-Vert) ou (-Vert+Rouge).

Merci beaucoup Steelson.

Max.

J'ai éliminé les valeurs superflues (je suis un peu moins sûr de mon coup)

edit : fichier supprimé au profit du suivant, plus robuste

correction,

cette fois-ci je suis sûr de mon coup

8macro-essai-2.xlsx (95.66 Ko)

J'ai éliminé les valeurs superflues (je suis un peu moins sûr de mon coup)

edit : fichier supprimé au profit du suivant, plus robuste

Bonjour Steelson,

il ne faut pas douter de vous comme cela.

correction,

cette fois-ci je suis sûr de mon coup

Je regarde cela et je vous dis ce qu'il en est. Je sais déjà que je serai pleinement satisfait de votre travail. Mais bon patience...

Merci beaucoup et très bonne journée.

@+

Max

correction,

cette fois-ci je suis sûr de mon coup

Je regarde cela et je vous dis ce qu'il en est. Je sais déjà que je serai pleinement satisfait de votre travail. Mais bon patience...

Merci beaucoup et très bonne journée.

@+

Max

Rebonjour,

Vous avez parfaitement répondu à ma demande et je m'incline devant le travail accompli si élégamment sans recourir au macro. Bravo et mille merci.

En conlusion, je suis preneur sans réserve de votre solution pour l'appliquer également à la seconde opération à effectuer : (-VERT+ROUGE).

Merci.

Max.

En conlusion, je suis preneur sans réserve de votre solution pour l'appliquer également à la seconde opération à effectuer : (-VERT+ROUGE).

C'est à dire ? si c'est une demande,n pas de problème, mais pourrais-tu me réexpliquer tes attendus, je suis perdu !

Michel

En conlusion, je suis preneur sans réserve de votre solution pour l'appliquer également à la seconde opération à effectuer : (-VERT+ROUGE).

C'est à dire ? si c'est une demande,n pas de problème, mais pourrais-tu me réexpliquer tes attendus, je suis perdu !

Michel

Il convient d'appliquer la même logique que précédemment pour les valeurs vertes.

Actuellement, la (première) cellule rouge (en cas de série) est soustraite à la (première) cellule verte (en cas de série) qui suit.

Pour que le fichier soit complet, il faudrait également que la (première) cellule verte (en cas de série) soit soustraite à la (première) cellule rouge (en cas de série) qui suit.

Concrètement, dans le fichier il faudrait obtenir la différence E26 ( première valeur verte) et E58 la première valeur rouge qui suit E26.

Ensuite E64 et E129...etc....

Mais, oubliez tout cela, je suis parvenu à transposer avec succès les formules après plusieurs tentatives.

Donc dossier clos, et chapeau à l'artiste d'excel.

Merci tout plein,

Max.

Merci pour ce retour

t surtout content que tu aies pu t'approprier la "recette de cuisine" !

C'était un peu un casse-tête !

Merci pour ce retour

t surtout content que tu aies pu t'approprier la "recette de cuisine" !

C'était un peu un casse-tête !

C'est un coup de génie votre compteur dans la colonne K, et j'ai même compris (enfin je crois ?) pourquoi vous n'etiez pas sûr de vous dans la première version.

La syntaxe Excel me reste obscure, mais j'arrive à saisir un peu la logique. Donc en maniant les nouvelles formules, je devrais progresser davantage. Ceci étant dit, quand on est nul en Excel, on ne progresse que marginalement

Je pense avoir déjà coché la case demande résolue.

Merci de tout coeur pour votre aide.

Max

Rechercher des sujets similaires à "macro pas"