Bonjour,
Je cherche sur une colonne à déterminer la valeur modale la plus récente.
Exemple:
50
65
12
50 - (a)
78
12 - (b)
65 - (c)
78 - (d)
(a) - ici c'est la valeur 50 qui est la fréquente (mode) - on prend comme
borne de calcul pour la suite la premiere valeur 50 (ne pas calculer avant
50 de valeur modale)
(b) - ici c'est la valeur 12 qui est la plus récente (mode) - on prend comme
borne de calcul pour la suite la premiere valeur 12 (ne pas calculer avant
12 de valeur modale)
(c) - ici, on ne prend pas 65 car il ne fait pas partie de la borne
précédente (se trouve avant la borne 12)
(d) - ici c'est la valeur 78 qui est la récente (mode) - on prend comme
borne de calcul pour la suite la premiere valeur 78
Merci beaucoup d 'avance car c'est un peu compliqué, mais je suis sûr qu'une
solution existe.
Olivier
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Avec ce "machin" on arrive bien au résultat que tu indiques, mais comme il y a des trucs qui m'échappent dans le décalage de la plage à examiner par la fonction Mode,..je livre avec des pincettes ! Les valeurs numériques sont en A1:Ax
Sub zzz_à_la_MODE_de_chez_nous() Application.ScreenUpdating = False x = [A65536].End(3).Row [B:B].Insert For i = 1 To x Cells(i, 2) = i Next [A1].Sort Key1:=[A1] lg1 = 1: lg2 = 1 While lg2 < x While Evaluate("isnumber(mode(A" & lg1 & ":A" & lg2 & "))") = False lg2 = lg2 + 1 Wend Cells(lg2, 3) = "**" lg1 = lg1 + 1: lg2 = lg1 + 1 Wend
[B1].Sort Key1:=[B1]: [B:B].Delete End Sub
AV
"ELINA olivier" a écrit dans le message news: 3f4797ef$0$26381$
Bonjour, Je cherche sur une colonne à déterminer la valeur modale la plus récente. Exemple: 50 65 12 50 - (a) 78 12 - (b) 65 - (c) 78 - (d)
(a) - ici c'est la valeur 50 qui est la fréquente (mode) - on prend comme borne de calcul pour la suite la premiere valeur 50 (ne pas calculer avant 50 de valeur modale) (b) - ici c'est la valeur 12 qui est la plus récente (mode) - on prend comme borne de calcul pour la suite la premiere valeur 12 (ne pas calculer avant 12 de valeur modale) (c) - ici, on ne prend pas 65 car il ne fait pas partie de la borne précédente (se trouve avant la borne 12) (d) - ici c'est la valeur 78 qui est la récente (mode) - on prend comme borne de calcul pour la suite la premiere valeur 78
Merci beaucoup d 'avance car c'est un peu compliqué, mais je suis sûr qu'une solution existe. Olivier
Avec ce "machin" on arrive bien au résultat que tu indiques, mais comme il y a
des trucs qui m'échappent dans le décalage de la plage à examiner par la
fonction Mode,..je livre avec des pincettes !
Les valeurs numériques sont en A1:Ax
Sub zzz_à_la_MODE_de_chez_nous()
Application.ScreenUpdating = False
x = [A65536].End(3).Row
[B:B].Insert
For i = 1 To x
Cells(i, 2) = i
Next
[A1].Sort Key1:=[A1]
lg1 = 1: lg2 = 1
While lg2 < x
While Evaluate("isnumber(mode(A" & lg1 & ":A" & lg2 & "))") = False
lg2 = lg2 + 1
Wend
Cells(lg2, 3) = "**"
lg1 = lg1 + 1: lg2 = lg1 + 1
Wend
[B1].Sort Key1:=[B1]: [B:B].Delete
End Sub
AV
"ELINA olivier" <guyanais@free.fr> a écrit dans le message news:
3f4797ef$0$26381$626a54ce@news.free.fr...
Bonjour,
Je cherche sur une colonne à déterminer la valeur modale la plus récente.
Exemple:
50
65
12
50 - (a)
78
12 - (b)
65 - (c)
78 - (d)
(a) - ici c'est la valeur 50 qui est la fréquente (mode) - on prend comme
borne de calcul pour la suite la premiere valeur 50 (ne pas calculer avant
50 de valeur modale)
(b) - ici c'est la valeur 12 qui est la plus récente (mode) - on prend comme
borne de calcul pour la suite la premiere valeur 12 (ne pas calculer avant
12 de valeur modale)
(c) - ici, on ne prend pas 65 car il ne fait pas partie de la borne
précédente (se trouve avant la borne 12)
(d) - ici c'est la valeur 78 qui est la récente (mode) - on prend comme
borne de calcul pour la suite la premiere valeur 78
Merci beaucoup d 'avance car c'est un peu compliqué, mais je suis sûr qu'une
solution existe.
Olivier
Avec ce "machin" on arrive bien au résultat que tu indiques, mais comme il y a des trucs qui m'échappent dans le décalage de la plage à examiner par la fonction Mode,..je livre avec des pincettes ! Les valeurs numériques sont en A1:Ax
Sub zzz_à_la_MODE_de_chez_nous() Application.ScreenUpdating = False x = [A65536].End(3).Row [B:B].Insert For i = 1 To x Cells(i, 2) = i Next [A1].Sort Key1:=[A1] lg1 = 1: lg2 = 1 While lg2 < x While Evaluate("isnumber(mode(A" & lg1 & ":A" & lg2 & "))") = False lg2 = lg2 + 1 Wend Cells(lg2, 3) = "**" lg1 = lg1 + 1: lg2 = lg1 + 1 Wend
[B1].Sort Key1:=[B1]: [B:B].Delete End Sub
AV
"ELINA olivier" a écrit dans le message news: 3f4797ef$0$26381$
Bonjour, Je cherche sur une colonne à déterminer la valeur modale la plus récente. Exemple: 50 65 12 50 - (a) 78 12 - (b) 65 - (c) 78 - (d)
(a) - ici c'est la valeur 50 qui est la fréquente (mode) - on prend comme borne de calcul pour la suite la premiere valeur 50 (ne pas calculer avant 50 de valeur modale) (b) - ici c'est la valeur 12 qui est la plus récente (mode) - on prend comme borne de calcul pour la suite la premiere valeur 12 (ne pas calculer avant 12 de valeur modale) (c) - ici, on ne prend pas 65 car il ne fait pas partie de la borne précédente (se trouve avant la borne 12) (d) - ici c'est la valeur 78 qui est la récente (mode) - on prend comme borne de calcul pour la suite la premiere valeur 78
Merci beaucoup d 'avance car c'est un peu compliqué, mais je suis sûr qu'une solution existe. Olivier