Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 11h04   #1
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
Par défaut Afficher valeurs max d'une courbe

Bonjour

j'ai un petit souci et je sollicite votre aide pour me mettre sur la piste
j'ai 2 colonnes de donnés (Temps et Force)

Ce qui me donne un graphique avec une courbe qui fait 5 pics
je cherche une formule pour afficher la valeur des 5 pics de cette courbe

je vous joints le fichier d'exemple

merci pour votre aide
Fichiers attachés
Type de fichier : xls Exemple.XLS (1,80 Mo, 11 affichages)
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h09   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
salut,

j'ai un doute sur la finalité de la question :
tu cherches
- à afficher sur le graphique les valeurs des pics ?
- à détecter les pics et afficher leur valeur (quelque part dans ta feuille) ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h23   #3
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
Oui bonne question

effectivement la courbe ne sera jamais la même.
donc:
détecter les pics et récupérer les valeurs max de chaque pics quelques part sur la feuille.

skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h45   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Reste à voir la définition de pic que tu souhaites appliquer

Si on considère un pic comme une abcisse pour laquelle l'ordonnée est supérieure à celle des deux abcisse encadrantes
avec a > b > c et f(b) > f(a) et f(b) > f(c) alors f(b) est un pic

on peut tester pour chaque valeur les valeurs "d'avant" et "d'après" pour mettre le flag Pic à Vrai ou faux
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 21h50   #5
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
bon ben ça me dépasse

d'autre idées ?
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 08h45   #6
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
En fait en prenant un exemple bete avec des formules.

Si tes valeurs sont dans la colonne A et tu veux indiquer si ces valeurs sont des pics dans la colonne B.
en B2 par exemple, tu aurais
Code :
=SI(ET(A2>A1;A2>A3);"PIC","")
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 22h54   #7
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
merci pour ton exemple mais ça ne fonctionne pas

en fait je me retrouve avec beaucoup de pic et non pas avec les 5 qui correspondent aux points le plus haut des 5 courbes
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 10h59   #8
Membre habitué
 
Benoit Schwob
Business Analyst
Inscription : juin 2009
Messages : 93
Détails du profil
Informations personnelles :
Nom : Benoit Schwob
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business Analyst

Informations forums :
Inscription : juin 2009
Messages : 93
Points : 137
Points : 137
Bonjour skyzix,

Est-ce que tu as systématiquement 5 pics ?

Parce que le truc, c'est que ton graphique montre évidemment 5 pics, certes, mais quand on y regarde de plus près, chaque pic n'est pas juste une montée avant, puis juste une descente après ! En fait il y a des "pics de passage", par exemple de brèves remontées dans une phase de descente. Et cette brève remontée peut très bien aller plus haut qu'un autre "vrai" pic.

C'est un peu comme les massifs de montagne : on dit que le Mont-Blanc est le plus haut sommet de France (4807m), et le Mont Maudit le deuxième (4465m). Mais au fond, si on prend "la colline d'en face" sur le Mont Blanc, elle est peut-être à 4700m, donc c'est elle qui pourrait être la deuxième, non ?

L'astuce c'est d'isoler les massifs, pour considérer "la colline d'en face" comme appartenant au Mont-Blanc, donc on ne la compte pas. Matériellement, on dira par exemple que, pour considérer deux sommets comme distincts, il faut qu'il y ait un vrai "vide" entre eux, par exemple une altitude basse.

C'est pareil dans ton histoire : on pourrait dire par exemple que les massifs sont séparés par des points de passage à 1000.

Tu en as 10, des points de passage à 1000 : 5 en montant, 5 en descendant.

A partir de là, tu raisonnes séparément sur chaque massif, c'est à dire entre les points de passage deux par deux. Et tu trouves le point maxi de chaque massif séparément !

A plus,

Benoît
Benoit Schwob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 15h55   #9
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
Bonjour Benoit

j'ai bien compris ton raisonnent
j'ai effectivement fait =MAX() sur la plage de donnée ( colonne B) compris entre l’Abscisse X et Y (colone A) de chaque pics
Si je reprendre mon fichier exemple:
le 1er pic correspond aux lignes 493 a 3329 , j'ai donc fait =MAX(B493:B3329) ce qui me donne la valeurs max de ce pic
je l'ai répéter pour les 4 autres.

cette méthode est manuel et je cherche a le faire de façon automatique soit avec une formule ou soit avec du VBA.
mais mes connaissances sont insuffisante dans se domaine.

Je n'arrive pas a traduire don raisonnement en laquage Excel
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 21h13   #10
Membre habitué
 
Benoit Schwob
Business Analyst
Inscription : juin 2009
Messages : 93
Détails du profil
Informations personnelles :
Nom : Benoit Schwob
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business Analyst

Informations forums :
Inscription : juin 2009
Messages : 93
Points : 137
Points : 137
Bonsoir skyzix,

Il y a sûrement moyen de faire un méga-truc en VBA... en s'y cognant la tête pendant des plombes. Oublions !

En Excel, je te propose de partir sur la droite de tes deux colonnes et de faire le raisonnement pas à pas.

Je vais m'y pencher mais avant j'ai deux petites questions, qui peuvent modifier la complexité du travail :
- est-ce que tu as systématiquement 5 pics ?
- est-ce que tu as toujours dans les 24 000 lignes ?

A plus,

Benoît
Benoit Schwob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 10h12   #11
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
Bonjour Benoit

Pour répondre a tes questions.
En fait cette courbe correspond a des essais de cisaillements (lot de 5 éprouvettes) donc Oui toujours 5 pics.
Par-contre le nombre de ligne peut varier.

A bientot
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 01h06   #12
Membre habitué
 
Benoit Schwob
Business Analyst
Inscription : juin 2009
Messages : 93
Détails du profil
Informations personnelles :
Nom : Benoit Schwob
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business Analyst

Informations forums :
Inscription : juin 2009
Messages : 93
Points : 137
Points : 137
Bonjour skyzix,

Joli sujet, finalement : énoncé simple, problématique "évidente", mais résolution complexe.

Un fichier est joint, en bas…

La clé de l'histoire, comme on le voyait l'autre jour, c'est de définir un seuil, c'est-à-dire une valeur qui servira de passage obligé pour distinguer deux pics. Par exemple dans ton problème, on peut dire que c'est le passage à l'ordonnée 1000.

Le cœur du boulot, comme tu le disais l'autre jour, c'est de repérer les passages par ce seuil à 1000. Si on est perfectionniste, on relève tous ces passages : ceux en montant et ceux en descendant, mais en fait on n'a pas besoin d'être perfectionniste sur ce coup-là, il suffit de repérer les passages dans un sens, les descendants par exemple. Et on travaillera tout simplement entre un descendant et le descendant suivant !

Au cas où une autre valeur deviendrait plus pertinente, je variabilise la valeur 1000 dans la cellule F2.

L'idée est d'identifier les passages descendants par ce seuil. Les valeurs "force" étant dans la colonne B, la colonne C teste, par exemple, avec ceci dans C5 :
Code :
=SI(ET(B4>=$F$2;B5<$F$2);1;0)
Je variabilise aussi les noms des colonnes sur lesquelles on travaille (A, B, C, dans F3, F4, F5 – en bleu sur fond jaune, c'est les éléments variables à ajuster si tu déplaces les choses dans la feuille.)

Pour commencer, je travaille autour du 1er pic.

Je définis d'abord sa zone :
- sa zone commence à la ligne 3 (toute première ligne de donnée, valeur variable, dans I3).
- ensuite, en J3, je calcule le nombre de lignes qu'il y a jusqu'au premier passage descendant par 1000 : c'est la fonction EQUIV qui me le donne, en cherchant la valeur '1' dans la plage de données qui va jusque tout en bas des données (30 000, tant qu'à faire) mais qui commence seulement à la ligne qu'on vient de définir en I3 ! Je me sers d'INDIRECT pour ça :
Code :
=EQUIV(1;INDIRECT($F$5&I3):C$30000;0)
- le numéro de la ligne de fin, en K3, c'est tout simplement la somme des deux nombres précédents (–1, hein)
- en L3, je fabrique une jolie adresse de la zone.

À partir de là, on cherche le pic lui-même.
- trouver l'ordonnée (la force) c'est facile : comme j'ai l'adresse de la zone en L3, la zone elle-même est renvoyée par INDIRECT(L3) et donc il suffit d'en prendre le MAX, en M3 :
- peut-être que c'est l'essentiel de ce que tu voulais, mais tant qu'à peut faire on peut aussi aller chercher l'abscisse (le temps) où ça s'est passé : je calcule en N3 le nombre de lignes passées depuis le début de la zone. C'est la même idée que plus haut pour la profondeur de la zone, sauf que je recherche la force du pic :
=EQUIV(M3;INDIRECT("B"&I3):$B$30000;0)
- j'additionne ça à la ligne du début de zone (–1, hein) pour avoir le numéro de ligne
- et je peux trouver dans P3 la valeur du temps sur cette ligne :
=INDIRECT($F$3&O3)

Super, on a tout pour le premier pic.

Maintenant, je travaille sur le deuxième pic :
- la ligne de début de zone, notée en I4, c'est tout simplement la ligne de fin de la zone précédente, +1 pour le sport.
- et toute la suite c'est pareil.

Et pour les pics suivants, il n'y a plus qu'à recopier vers le bas et voilà !

A plus,

Benoît
Fichiers attachés
Type de fichier : rar Recherche de pics.rar (446,9 Ko, 11 affichages)
Benoit Schwob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 09h28   #13
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
Chapeau ....
j'ai qu'un mot a dire
jamais j'aurais pu trouver tout seul
merci beaucoup
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 13h08   #14
Invité de passage
 
Inscription : avril 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 10
Points : 0
Points : 0
Juste une petite question

ça consiste a quoi quand tu dis

"Je variabilise aussi les noms des colonnes sur lesquelles on travaille"

A+
skyzix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 15h46   #15
Membre habitué
 
Benoit Schwob
Business Analyst
Inscription : juin 2009
Messages : 93
Détails du profil
Informations personnelles :
Nom : Benoit Schwob
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business Analyst

Informations forums :
Inscription : juin 2009
Messages : 93
Points : 137
Points : 137
La variabilisation des noms de colonnes, c'est pas le truc le plus malin de l'histoire, hum-hum...

L'idée derrière ça, c'est que :
- là tout de suite on utilise les colonnes A pour le temps, B pour la force, C pour notre test de passage de seuil ;
- mais on pourrait être amené à déplacer tout ça ailleurs dans la feuille, par exemple si on entrait une troisième valeur pour les mesures, ou bien si on décalait tout vers la droite parce qu'on fait plusieurs lots d'expérience et qu'on doit indiquer le code du lot dans la première colonne...

Si ça arrive, au lieu de corriger toutes les formules qui font référence à ces trois colonnes, bah c'est plus facile de modifier ça dans trois cellules fixes, auxquelles se réfèrent toutes les formules. Cela dit, j'ai pas fait ça à fond, je crois qu'il y a des formules un peu tordues, qui font référence moitié à la cellule où j'ai variabilisé, moitié à "A", "B" ou "C" en dur.

(J'aurais dû pourr cette idée jusqu'au bout ou pas du tout...)

Benoît
Benoit Schwob est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web