OVH Cloud OVH Cloud

Problème de Formulation

30 réponses
Avatar
bouak
Bonsoir,

Merci de bien vouloir me secourir ...

En colonne A s’inscrivent automatiquement des nombres différents dans chaque
cellule à partir de A55 (A55 = 150, A56 = 118, A57 =145, le prochain
s’inscrit en A58, etc jusqu’à A65000.

Au départ, par comparaison au nombre inscrit en A55, inscrire en A50 le
prochain nombre extrême dès qu’il est <>6 et dès qu’il diminue de 6
(positivement ou négativement).
Ainsi de suite en comparant le nouveau nombre extrême à chaque dernier
nombre extrême en A50.

Les variables sont portés dans :

Feuille data colonne A Cellule 50 = nombre extrême et de comparaison
Feuille data colonne A Cellule 51 = prochain nombre extrême dès <> 6
Feuille data colonne A Cellule 52 = et dès > 6
Feuille data colonne A Cellule de 55 inscription automatique des nombres
Feuille data colonne A Cellule à 65000 inscription automatique des nombres

Ou tout autre que vous jugez utile.

Merci et bonne nuit

--
bouak

10 réponses

1 2 3
Avatar
bouak
Bonjour,

Ca y est j'ai compris le cheminement suite à tes précisions pas à pas...

J'ai rectifié, en espérant ... comme tu me l'a indiqué...
Le nouveau classeur rectifié est sur http://cjoint.com/?bhqqFNoaas

Ne faut il rien ajouter à ThisWorkbook tenant compte du code Feuil3 que j'ai
renommée gbp

Je t'avais bien indiqué que j'étais nul... c'est ma PREMIERE fois en VBA ...

Peux-tu m'aider pour ma demande qui est formulée à la feuille gbp.

Merci et bon Week end


Merci et Bon Week end
--
bouak



--
bouak



Bonsoir,
[~+-HS] ton exemple m'a permis de repèrer le pb de ton autre
ficelle....(voir dessus)

Pour celle-ci: Daniel t'a donné une formule et dedans il y a "plage",
si tu vas dans menu insertion définir un nom
par sélection du nom plage dans la liste
tu pourra y lire la définition de plage dans "réfère à:"

lSteph

"bouak" a écrit dans le message de news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer tout ça.

Quand tu m'indique Les plages sont définies (voir Insertion / Noms) je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak











Avatar
Daniel
Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur extrême ?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou plage2), tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion / Noms) je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak













Avatar
bouak
Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1) »

Là effectivement j’ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701, 1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c’est 0.0006

D’où à 1.7728 la 2ème condition est remplie, Il y a variation égale ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur extrême depuis
A1 et on l’inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes, inscrire en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6 (2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d’où à 1.7705 la 2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006 avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c’est OUI, c’est ce qui ce
passe déjà. Je les reportées colonne A pour avoir une plage de comparaison.

Donc mon oui est si tu as une autre solution de plage et si c’est le cas,
plus besoin de la feuille gbp, car tu peux directement avoir en Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la feuille
GBP graph.
***************************
Si t’as besoin d’autres précisions n’hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur extrême ?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou plage2), tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion / Noms) je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak


















Avatar
Daniel
Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701, 1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes, inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6 (2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la 2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006 avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce qui ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion / Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak




















Avatar
bouak
Bonsoir Daniel,

Un peu tardif comme réponse mais j'étais absent.

J'ai inséré à la feuil3 "gbp" la procédure
http://cjoint.com/?bjwSglSfcz mais rien ne s'incrit en =gbp!$B$2
aprés avoir importer individuellement les mêmes valeurs de l'exemple en A1
jusqu'à A11.

Pourtant aprés vérification individuelle de chaque feuille et plusieurs
essais en manuel, ça s'importe bien en:
- Feuil3 "gbp" à B1 de Úta!$I$20
- Feuil1 "GBP graph" à B1 de =gbp!$B$2


Quelle erreur ai-je encore fait pour que cela ne fonctionne pas ???

Merci de ta réponse et bonne soirée.

bouak



Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701, 1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes, inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6 (2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la 2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006 avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce qui ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1 et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion / Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak

























Avatar
Daniel
Bonjour.
Oups, c'est l'événement "Calculate" qu'il faut modifier :

Private Sub Worksheet_Calculate()
Dim ValB2 As String
If fiXb = [B1].Value Then Exit Sub
If fiXb <> [B1].Value Then
Application.EnableEvents = False
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]
Else
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
fiXb = [B1]
End If
If [B1] = [B3] Then Exit Sub
Application.EnableEvents = False
If Abs([B2] - [B1]) > [B4] Then
[B2] = [B1]
End If
Application.EnableEvents = True
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de news:

Bonsoir Daniel,

Un peu tardif comme réponse mais j'étais absent.

J'ai inséré à la feuil3 "gbp" la procédure
http://cjoint.com/?bjwSglSfcz mais rien ne s'incrit en
=gbp!$B$2
aprés avoir importer individuellement les mêmes valeurs de l'exemple en A1
jusqu'à A11.

Pourtant aprés vérification individuelle de chaque feuille et plusieurs
essais en manuel, ça s'importe bien en:
- Feuil3 "gbp" à B1 de Úta!$I$20
- Feuil1 "GBP graph" à B1 de =gbp!$B$2


Quelle erreur ai-je encore fait pour que cela ne fonctionne pas ???

Merci de ta réponse et bonne soirée.

bouak



Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) > [B4]
Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701, 1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes,
inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6
(2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale
ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la 2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006
avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de
suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce qui
ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le
cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la
feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale
ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que
tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou
plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message
de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules
fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion /
Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak



























Avatar
bouak
Bonjour Daniel,

Super on y est presque...

J'ai porté dans Feuil3 "gbp" le nouveau Private Sub Worksheet_Calculate() en
remplacement du précédent.

Aprés avoir importer individuellement depuis data!$I$20 les mêmes valeurs de
l'exemple en A1 jusqu'à A11, là tout fonctionne vers graph et vers GBP graph.

Mais les valeurs qui s'inscrivent Feuil3 "graph" en B2 ne sont pas celles
qui devraient apparaître par rapport aux conditions, nous devrions avoir
comme première valeur extrême 1.7735 et 1.7698 comme deuxième.

Encore merci de ton intervention
--
bouak



Bonjour.
Oups, c'est l'événement "Calculate" qu'il faut modifier :

Private Sub Worksheet_Calculate()
Dim ValB2 As String
If fiXb = [B1].Value Then Exit Sub
If fiXb <> [B1].Value Then
Application.EnableEvents = False
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]
Else
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
fiXb = [B1]
End If
If [B1] = [B3] Then Exit Sub
Application.EnableEvents = False
If Abs([B2] - [B1]) > [B4] Then
[B2] = [B1]
End If
Application.EnableEvents = True
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de news:

Bonsoir Daniel,

Un peu tardif comme réponse mais j'étais absent.

J'ai inséré à la feuil3 "gbp" la procédure
http://cjoint.com/?bjwSglSfcz mais rien ne s'incrit en
=gbp!$B$2
aprés avoir importer individuellement les mêmes valeurs de l'exemple en A1
jusqu'à A11.

Pourtant aprés vérification individuelle de chaque feuille et plusieurs
essais en manuel, ça s'importe bien en:
- Feuil3 "gbp" à B1 de Úta!$I$20
- Feuil1 "GBP graph" à B1 de =gbp!$B$2


Quelle erreur ai-je encore fait pour que cela ne fonctionne pas ???

Merci de ta réponse et bonne soirée.

bouak



Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) > [B4]
Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701, 1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes,
inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6
(2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale
ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la 2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006
avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de
suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce qui
ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le
cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la
feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale
ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que
tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou
plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message
de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules
fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion /
Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak
































Avatar
bouak
le nouveau classeur à ce jour http://cjoint.com/?bko1NGE6yu
--
bouak



Bonjour.
Oups, c'est l'événement "Calculate" qu'il faut modifier :

Private Sub Worksheet_Calculate()
Dim ValB2 As String
If fiXb = [B1].Value Then Exit Sub
If fiXb <> [B1].Value Then
Application.EnableEvents = False
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]
Else
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
fiXb = [B1]
End If
If [B1] = [B3] Then Exit Sub
Application.EnableEvents = False
If Abs([B2] - [B1]) > [B4] Then
[B2] = [B1]
End If
Application.EnableEvents = True
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de news:

Bonsoir Daniel,

Un peu tardif comme réponse mais j'étais absent.

J'ai inséré à la feuil3 "gbp" la procédure
http://cjoint.com/?bjwSglSfcz mais rien ne s'incrit en
=gbp!$B$2
aprés avoir importer individuellement les mêmes valeurs de l'exemple en A1
jusqu'à A11.

Pourtant aprés vérification individuelle de chaque feuille et plusieurs
essais en manuel, ça s'importe bien en:
- Feuil3 "gbp" à B1 de Úta!$I$20
- Feuil1 "GBP graph" à B1 de =gbp!$B$2


Quelle erreur ai-je encore fait pour que cela ne fonctionne pas ???

Merci de ta réponse et bonne soirée.

bouak



Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4] Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) > [B4]
Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701, 1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes,
inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6
(2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale
ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la 2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006
avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de
suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce qui
ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le
cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la
feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation égale
ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce que
tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir". Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou
plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le message
de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules
fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion /
Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak
































Avatar
Daniel
Je n'avais pas vu la suite et l'alimentation du graphique.
L'événement Worksheet_Calculate de la feuille GBP graph ne se déclenchait
pas puisque "EnableEventsúlse était positionné lors de la mise à jour de
B2.
C'est corrigé :
http://cjoint.com/?bkqbCYDHYx
Cordialement.
Daniel
"bouak" a écrit dans le message de news:

le nouveau classeur à ce jour http://cjoint.com/?bko1NGE6yu
--
bouak



Bonjour.
Oups, c'est l'événement "Calculate" qu'il faut modifier :

Private Sub Worksheet_Calculate()
Dim ValB2 As String
If fiXb = [B1].Value Then Exit Sub
If fiXb <> [B1].Value Then
Application.EnableEvents = False
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]
Else
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
fiXb = [B1]
End If
If [B1] = [B3] Then Exit Sub
Application.EnableEvents = False
If Abs([B2] - [B1]) > [B4] Then
[B2] = [B1]
End If
Application.EnableEvents = True
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel,

Un peu tardif comme réponse mais j'étais absent.

J'ai inséré à la feuil3 "gbp" la procédure
http://cjoint.com/?bjwSglSfcz mais rien ne s'incrit en
=gbp!$B$2
aprés avoir importer individuellement les mêmes valeurs de l'exemple en
A1
jusqu'à A11.

Pourtant aprés vérification individuelle de chaque feuille et plusieurs
essais en manuel, ça s'importe bien en:
- Feuil3 "gbp" à B1 de Úta!$I$20
- Feuil1 "GBP graph" à B1 de =gbp!$B$2


Quelle erreur ai-je encore fait pour que cela ne fonctionne pas ???

Merci de ta réponse et bonne soirée.

bouak



Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4]
Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) >
[B4]
Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en
A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701,
1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale
ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur
extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes,
inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6
(2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation
égale
ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la
2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006
avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de
suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce
qui
ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le
cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la
feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation
égale
ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en
A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message
de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce
que
tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les
plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir".
Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou
plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le
message
de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules
fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment
intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion /
Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak


































Avatar
bouak
Re bonjour Daniel,

Tout ce déclanchait TRES TRES bien sur la correction précédente.
http://cjoint.com/?bko1NGE6yu

C’était uniquement les conditions pour inscrire en Feuil3 « gbp » à B2 qui
n’était pas respectées.

Tu indiques :
« L'événement Worksheet_Calculate de la feuille GBP graph ne se déclenchait
pas puisque "EnableEventsúlse était positionné lors de la mise à jour de B2»

Mais c’est exactement ce qu’il me faut, car au final à GBP graph, ce
graphique ne ce compose que des extrêmes donc des mises à jour de Feuil3 «
gbp » à B2.

Je reprends les conditions avec l’exemple des valeurs de A1 à A11

Feuil3 « gbp »

AU DEBUT en comparant la valeur inscrite en A1 et ses suivantes, inscrire en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6 (2ème
condition).

En A1 s’inscrit 1.7701 en B2 rien
En A2 s’inscrit 1.7725 en B2 rien
En A3 s’inscrit 1.7735 en B2 rien
En A4 s’inscrit 1.7728 en B2 s’inscrit 1.7735
car 1ère condition remplie la valeur extrême <>0.0006 depuis A1
1.7701
2ème condition remplie dès qu'elle change de 0.0006 depuis A3
1.7735

A LA SUITE en comparant colonne A à partir de la valeur qui a était inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de suite

La valeur de comparaison devient celle de A3 soit 1.7735 qui a été inscrite
en B2
En A5 s’inscrit 1.7731 en B2 toujours 1.7735
En A6 s’inscrit 1.7733 en B2 toujours 1.7735
En A7 s’inscrit 1.7729 en B2 toujours 1.7735
En A8 s’inscrit 1.7698 en B2 toujours 1.7735
En A9 s’inscrit 1.7701 en B2 toujours 1.7735
En A10 s’inscrit 1.7705 en B2 s’inscrit 1.7698
car 1ère condition remplie la valeur extrême <>0.0006 depuis A3
1.7735
2ème condition remplie dès qu'elle change de 0.0006 depuis A8
1.7698

En A11 s’inscrit 1.7702 en B2 toujours 1.7698.
En A12 etc.


Encore Merci.


--
bouak



Je n'avais pas vu la suite et l'alimentation du graphique.
L'événement Worksheet_Calculate de la feuille GBP graph ne se déclenchait
pas puisque "EnableEventsúlse était positionné lors de la mise à jour de
B2.
C'est corrigé :
http://cjoint.com/?bkqbCYDHYx
Cordialement.
Daniel
"bouak" a écrit dans le message de news:

le nouveau classeur à ce jour http://cjoint.com/?bko1NGE6yu
--
bouak



Bonjour.
Oups, c'est l'événement "Calculate" qu'il faut modifier :

Private Sub Worksheet_Calculate()
Dim ValB2 As String
If fiXb = [B1].Value Then Exit Sub
If fiXb <> [B1].Value Then
Application.EnableEvents = False
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]
Else
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
fiXb = [B1]
End If
If [B1] = [B3] Then Exit Sub
Application.EnableEvents = False
If Abs([B2] - [B1]) > [B4] Then
[B2] = [B1]
End If
Application.EnableEvents = True
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel,

Un peu tardif comme réponse mais j'étais absent.

J'ai inséré à la feuil3 "gbp" la procédure
http://cjoint.com/?bjwSglSfcz mais rien ne s'incrit en
=gbp!$B$2
aprés avoir importer individuellement les mêmes valeurs de l'exemple en
A1
jusqu'à A11.

Pourtant aprés vérification individuelle de chaque feuille et plusieurs
essais en manuel, ça s'importe bien en:
- Feuil3 "gbp" à B1 de Úta!$I$20
- Feuil1 "GBP graph" à B1 de =gbp!$B$2


Quelle erreur ai-je encore fait pour que cela ne fonctionne pas ???

Merci de ta réponse et bonne soirée.

bouak



Bonjour.
Ajoute la procédure événementielle suivante dans la feuille "gbp" :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValB2 As String
If Target.Column <> 1 Then Exit Sub
If Target.Value = [B3] Then Exit Sub
If [B2] = "" Then
If Abs(WorksheetFunction.Max(Range("plage")) - [B1]) > [B4]
Then
[B2] = WorksheetFunction.Max(Range("plage"))
ElseIf Abs(WorksheetFunction.Min(Range("Plage")) - [B1]) >
[B4]
Then
[B2] = WorksheetFunction.Min(Range("plage"))
End If
ElseIf Abs(Target.Value - [B2]) > [B4] Then
[B2] = Target.Value
End If
End Sub

Cordialement.
Daniel
"bouak" a écrit dans le message de
news:

Bonsoir Daniel et encore merci de ta disponibilité.

*************

Réponse à :
« En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
? »
« En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en
A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1) »

Là effectivement j'ai mal recopier ...(pardon) il manque 1.7728
immédiatement après 1.7735, donc nous avons depuis A1 : 1.7701,
1.7725,
1.7735, 1.7728.

En B3 et B4 le 6 c'est 0.0006

D'où à 1.7728 la 2ème condition est remplie, Il y a variation égale
ou
supérieure à 0.0006 avec 1.7735, donc 1.7735 devient la valeur
extrême
depuis
A1 et on l'inscrit en B2.
____________________
Au début en comparant la valeur inscrite en A1 et ses suivantes,
inscrire
en
B2 la valeur extrême <>6 (1ère condition), dès qu'elle change de 6
(2ème
condition).
***********************

Réponse à :
« Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation
égale
ou
supérieure
à 6. »

La précédente valeur inscrite en B2 était 1.7735 d'où à 1.7705 la
2ème
condition est remplie Il y a variation égale ou supérieure à 0.0006
avec
1.7698, donc 1.7698 devient valeur extrême.
___________________
A la suite en comparant colonne A à partir de la valeur qui a était
inscrite
en B2 et ses suivantes, inscrire en B2 la valeur extrême <>6 (1ère
condition), dès quelle change de 6 (2ème condition). Et ainsi de
suite
***************************

Réponse à :
« Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à
partir de la colonne A vide : »

Si pour toi les valeurs successives en B1 sont celles qui changent
automatiquement (elles viennent de Úta!$I$20) c'est OUI, c'est ce
qui
ce
passe déjà. Je les reportées colonne A pour avoir une plage de
comparaison.

Donc mon oui est si tu as une autre solution de plage et si c'est le
cas,
plus besoin de la feuille gbp, car tu peux directement avoir en
Úta!$I$20
les valeurs successives et porter le résultat escompté en B2 de la
feuille
GBP graph.
***************************
Si t'as besoin d'autres précisions n'hésite pas.

Encore merci
--
bouak



Bonjour.
En se basant sur le classeur, qu'est-ce que tu entends par valeur
extrême
?
Tu indiques 1,7698 en B2, pourquoi ? Il n'a a pas de variation
égale
ou
supérieure à 6.
En outre, la valeur 1,7735 a un écart de 0,0033 avec la valeur en
A1
et
tu
indiques 1,7698 (la plus petite valeur en A1, écart de 0,0004 avec
A1)
Pourrai-tu détailler les valeurs successives en B1 et le résultat
escompté
en B2, à partir de la colonne A vide :
par exemple :
1ere valeur de B1 : x => 1ere valeur de B2 = y
2e valeur de B1 : x' => 2e valeur de B2 = y'
etc.
Cordialement.
Daniel

"bouak" a écrit dans le message
de
news:

Suite à mon dernier message le nouveau classeur rctifié sur
http://cjoint.com/?bhqqFNoaas

Merci et Bon Week end
--
bouak



Ce qui se passe, c'est que je ne comprends pas ce que tu trouves
d'incorrect
dans le classeur tel qu'il est. Il faudrait que tu me dises ce
que
tu
espères trouver comme résultat final (en A52).
Je t'ai parlé d'"Insertion / Noms" pour te montrer que les
plages
étaient
crées.
Tu cliques sur "Insertion", puis sur "Noms" puis sur "Définir".
Une
fenêtre
apparaît et si tu cliques sur une des deux plages (Plage ou
plage2),
tu
vois
leur structure dans "Fait référence à".
Cordialement.
Daniel
"bouak" a écrit dans le
message
de
news:

Re bonsoir,

je ne doute pas de tes capacités ni que tes formules
fonctionnent,
mais mon prob est ma nullité car je ne sais pas comment
intégrer
tout
ça.

Quand tu m'indique Les plages sont définies (voir Insertion /
Noms)
je
comprends pas ce qu'il faut faire.

C'est pour ça que j'ai mis mon fichier

Merci de ta patience et de ta compréhension

bouak







































1 2 3