Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rang 5ème

16 réponses
Avatar
Vincent
Bonjour à tous,

Il s'agit d'un petite formule que je voudrais créer, mais sans succès.
J'ai une série de données. Elles se trouvent dans des cellules non
contiguës, dans une même feuille.
Pour chaque donnée, je voudrais renvoyer, dans la cellule adjacente, le rang
5ème de cette donnée dans la série.

Le rang 5ème d'une donnée X se calcule ainsi:
0.5 + 5 x [(nombre de données supérieures à X) + (nombre de données égales à
X) x 0.5] / (nombre total de données)
Ensuite on arrondis à l'entier le plus proche (1 à 5 si ça fonctionne)

Voilà, il me semble qu'il y a des formules pour renvoyer le nombre de
données supérieures ou égales à telle valeur fixe, mais j'ai pas réussi pour
comparer à telle donnée contenue dans telle cellule.
J'ai oublié de préciser que ces données sont elles-mêmes calculées à partir
d'une formule. Et elles varient. La cellule en question dont je cherche le
rang 5ème, c'est une formule qu'elle contient.
J'utilise Excel 2003.
--
Un grand merci.
Cordialement,
Vincent

6 réponses

1 2
Avatar
Tatanka
Salut Vincent,

Pour trouver le rang cinquième, voici deux formules plus courtes :
1.
=ARRONDI(0,5+5*SOMME((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Ctrl+Maj+Entrée)

2.
=ARRONDI(0,5+5*SOMMEPROD((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Entrée)

x : Nom de la plage A1:Ax


Serge




"Tatanka" a écrit dans le message de news: %23SA$
Salut Vincent,

Peut-ëtre une solution pour transférer tes valeurs sans douleur sur
une seule colonne de cellules adjacentes à partir de la première ligne.
Je suppose que tes valeurs sont en A1, A20, A40, A60, ...
1) Choisis une colonne libre sur la même feuille. Pour mon
exemple, j'ai choisi la colonne C.
2) En C1, entre ¡
3) En C2, entre =INDIRECT("A"&20*LIGNE()-20)
4) Tire la formule vers le bas jusqu'à obtenir ta dernière valeur
5) Nomme la plage obtenue « x »
6) Entre alors la formule :
=ARRONDI(0,5+5*(SOMME((x>C1)*1)+0,5*SOMME((xÁ)*1))/NB(x);0)
où bon te semble et recopie vers la bas.

Serge


"Vincent" a écrit dans le message de news: %
Merci Serge pour votre formule. C'est génial. Je ne comprends pas parfaitement pourquoi SOMME va donner le nombre sup ou égal...
mais ça marche!
Elle fonctionne très bien.
Effectivement ça me donne une erreur #VALEUR si la plage est discontinue. Fait que mon problème n'est pas tout à fait résolu car
ça risque d'être pas mal long d'envoyer toutes mes données dans une plage continue...

Cordialement
Vincent

"Tatanka" a écrit dans le message de news:
Salut Vincent,

Supposons que tes valeurs numériques sont en A1:A10 et
que cette plage se nomme x. Ta formule peut s'écrire ainsi :
=ARRONDI(0,5+5*(SOMME((x>A1)*1)+0,5*SOMME((x¡)*1))/NB(x);0)
(valider par Ctrl+Maj+Entrée).
À recopier vers le bas.
Mais si x est le nom d'une plage discontinue, je doute que ça fonctionne ;-(

Serge


"Vincent" a écrit dans le message de news:
Bonjour Modeste.

En tout cas, même si je ne sais pas parfaitement ce qu'est une fonction matricielle, j'ai validé comme JP disait et ça a "rendu
un truc pas mal"...
Sauf que ça correspond pas à ce que je cherche...
Bonne journée à vous.
Vincent


"Modeste" a écrit dans le message de news: %
Bonsour® jp avec ferveur ;o))) vous nous disiez :

Je ne sais pas si j'ai tout compris mais tu devrais essayé de ce coté
ci:
=GRANDE.VALEUR(Plage;5)
Valide en faisant Maj+ctrl+entrée car c'est une fonction matricielle


??????
ce n'est pas une fonction matricielle !!!!
il n'y a pas lieu de valider par Maj+ctrl+entrée
Entrée suffit !!!

--
@+
;o)))





















Avatar
Vincent
Bonjour Serge,

C'est vraiment épatant vos affaires. Un grand merci. Les deux formules ci
dessous fonctionnent très bien. Je réponds tard par manque de temps, mais
j'apprécie vivement ces indications qui me permettront d'approfondir mes
faibles connaissances des fonctions...
Dans la formule précédente, si une cellule de la plage est vide (ça arrive)
la formule renvoie 1. Car elle arrondie 0.5 à 1, le reste semble ignoré.
Mais le calcul demeure juste pour les autres données (il me semble)
Dans les deux autres formules que vous m'indiquiez ensuite, si une cellule
est vide, cela renvoi 6. Car elle calcul le tout pour 1. Ensuite 1*5+0.5=5.5
arrondi à 6.
Pour moi, si la cellule est vide, je veux que l'autre reste vide aussi! et
que ça n'influe pas sur le Rang 5ème des autres données.
D'habitude je palie à ça avec une fonction SI et une fonction ESTNUM... si
jamais vous avez une idée plus simple...

D'autre part j'ai tout essayé pour utiliser (et tenter de comprendre) cette
formule: =INDIRECT("A"&20*LIGNE()-20) Comme je ne parvenais à rien j'ai fait
exactement pareil que dans votre exemple: 20 chiffres de A1 à A20, en B1 je
mets ¡, en B2 je mets la formule, puis je tire en bas. Alors en B2
j'obtiens la valeur qui se trouve en A20 et de B3 à B20 j'obtiens 0...
Mystère! C'est normal les parenthèses vides?

Je viens de voir que vous étiez aussi du Canada...
@+
Cordialement
Vincent

"Tatanka" a écrit dans le message de news:
%

Salut Vincent,

Pour trouver le rang cinquième, voici deux formules plus courtes :
1.
=ARRONDI(0,5+5*SOMME((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Ctrl+Maj+Entrée)

2.
=ARRONDI(0,5+5*SOMMEPROD((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Entrée)

x : Nom de la plage A1:Ax


Serge




"Tatanka" a écrit dans le message de news:
%23SA$
Salut Vincent,

Peut-ëtre une solution pour transférer tes valeurs sans douleur sur
une seule colonne de cellules adjacentes à partir de la première ligne.
Je suppose que tes valeurs sont en A1, A20, A40, A60, ...
1) Choisis une colonne libre sur la même feuille. Pour mon
exemple, j'ai choisi la colonne C.
2) En C1, entre ¡
3) En C2, entre =INDIRECT("A"&20*LIGNE()-20)
4) Tire la formule vers le bas jusqu'à obtenir ta dernière valeur
5) Nomme la plage obtenue « x »
6) Entre alors la formule :
=ARRONDI(0,5+5*(SOMME((x>C1)*1)+0,5*SOMME((xÁ)*1))/NB(x);0)
où bon te semble et recopie vers la bas.

Serge


"Vincent" a écrit dans le message de news:
%
Merci Serge pour votre formule. C'est génial. Je ne comprends pas
parfaitement pourquoi SOMME va donner le nombre sup ou égal... mais ça
marche!
Elle fonctionne très bien.
Effectivement ça me donne une erreur #VALEUR si la plage est
discontinue. Fait que mon problème n'est pas tout à fait résolu car ça
risque d'être pas mal long d'envoyer toutes mes données dans une plage
continue...

Cordialement
Vincent

"Tatanka" a écrit dans le message de
news:
Salut Vincent,

Supposons que tes valeurs numériques sont en A1:A10 et
que cette plage se nomme x. Ta formule peut s'écrire ainsi :
=ARRONDI(0,5+5*(SOMME((x>A1)*1)+0,5*SOMME((x¡)*1))/NB(x);0)
(valider par Ctrl+Maj+Entrée).
À recopier vers le bas.
Mais si x est le nom d'une plage discontinue, je doute que ça
fonctionne ;-(

Serge


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

Bonjour Modeste.

En tout cas, même si je ne sais pas parfaitement ce qu'est une
fonction matricielle, j'ai validé comme JP disait et ça a "rendu un
truc pas mal"...
Sauf que ça correspond pas à ce que je cherche...
Bonne journée à vous.
Vincent


"Modeste" a écrit dans le message de news:
%
Bonsour® jp avec ferveur ;o))) vous nous disiez :

Je ne sais pas si j'ai tout compris mais tu devrais essayé de ce
coté
ci:
=GRANDE.VALEUR(Plage;5)
Valide en faisant Maj+ctrl+entrée car c'est une fonction matricielle


??????
ce n'est pas une fonction matricielle !!!!
il n'y a pas lieu de valider par Maj+ctrl+entrée
Entrée suffit !!!

--
@+
;o)))

























Avatar
Tatanka
Salut Vincent,

Voici une exemple à cette adresse :
http://cjoint.com/?fgtuaO2VKj

Est-ce mieux ainsi ?

A+
Serge


"Vincent" a écrit dans le message de news: %
Bonjour Serge,

C'est vraiment épatant vos affaires. Un grand merci. Les deux formules ci dessous fonctionnent très bien. Je réponds tard par
manque de temps, mais j'apprécie vivement ces indications qui me permettront d'approfondir mes faibles connaissances des
fonctions...
Dans la formule précédente, si une cellule de la plage est vide (ça arrive) la formule renvoie 1. Car elle arrondie 0.5 à 1, le
reste semble ignoré. Mais le calcul demeure juste pour les autres données (il me semble)
Dans les deux autres formules que vous m'indiquiez ensuite, si une cellule est vide, cela renvoi 6. Car elle calcul le tout pour
1. Ensuite 1*5+0.5=5.5 arrondi à 6.
Pour moi, si la cellule est vide, je veux que l'autre reste vide aussi! et que ça n'influe pas sur le Rang 5ème des autres
données.
D'habitude je palie à ça avec une fonction SI et une fonction ESTNUM... si jamais vous avez une idée plus simple...

D'autre part j'ai tout essayé pour utiliser (et tenter de comprendre) cette formule: =INDIRECT("A"&20*LIGNE()-20) Comme je ne
parvenais à rien j'ai fait exactement pareil que dans votre exemple: 20 chiffres de A1 à A20, en B1 je mets ¡, en B2 je mets la
formule, puis je tire en bas. Alors en B2 j'obtiens la valeur qui se trouve en A20 et de B3 à B20 j'obtiens 0... Mystère! C'est
normal les parenthèses vides?

Je viens de voir que vous étiez aussi du Canada...
@+
Cordialement
Vincent

"Tatanka" a écrit dans le message de news: %

Salut Vincent,

Pour trouver le rang cinquième, voici deux formules plus courtes :
1.
=ARRONDI(0,5+5*SOMME((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Ctrl+Maj+Entrée)

2.
=ARRONDI(0,5+5*SOMMEPROD((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Entrée)

x : Nom de la plage A1:Ax


Serge




"Tatanka" a écrit dans le message de news: %23SA$
Salut Vincent,

Peut-ëtre une solution pour transférer tes valeurs sans douleur sur
une seule colonne de cellules adjacentes à partir de la première ligne.
Je suppose que tes valeurs sont en A1, A20, A40, A60, ...
1) Choisis une colonne libre sur la même feuille. Pour mon
exemple, j'ai choisi la colonne C.
2) En C1, entre ¡
3) En C2, entre =INDIRECT("A"&20*LIGNE()-20)
4) Tire la formule vers le bas jusqu'à obtenir ta dernière valeur
5) Nomme la plage obtenue « x »
6) Entre alors la formule :
=ARRONDI(0,5+5*(SOMME((x>C1)*1)+0,5*SOMME((xÁ)*1))/NB(x);0)
où bon te semble et recopie vers la bas.

Serge


"Vincent" a écrit dans le message de news: %
Merci Serge pour votre formule. C'est génial. Je ne comprends pas parfaitement pourquoi SOMME va donner le nombre sup ou
égal... mais ça marche!
Elle fonctionne très bien.
Effectivement ça me donne une erreur #VALEUR si la plage est discontinue. Fait que mon problème n'est pas tout à fait résolu
car ça risque d'être pas mal long d'envoyer toutes mes données dans une plage continue...

Cordialement
Vincent

"Tatanka" a écrit dans le message de news:
Salut Vincent,

Supposons que tes valeurs numériques sont en A1:A10 et
que cette plage se nomme x. Ta formule peut s'écrire ainsi :
=ARRONDI(0,5+5*(SOMME((x>A1)*1)+0,5*SOMME((x¡)*1))/NB(x);0)
(valider par Ctrl+Maj+Entrée).
À recopier vers le bas.
Mais si x est le nom d'une plage discontinue, je doute que ça fonctionne ;-(

Serge


"Vincent" a écrit dans le message de news:
Bonjour Modeste.

En tout cas, même si je ne sais pas parfaitement ce qu'est une fonction matricielle, j'ai validé comme JP disait et ça a
"rendu un truc pas mal"...
Sauf que ça correspond pas à ce que je cherche...
Bonne journée à vous.
Vincent


"Modeste" a écrit dans le message de news: %
Bonsour® jp avec ferveur ;o))) vous nous disiez :

Je ne sais pas si j'ai tout compris mais tu devrais essayé de ce coté
ci:
=GRANDE.VALEUR(Plage;5)
Valide en faisant Maj+ctrl+entrée car c'est une fonction matricielle


??????
ce n'est pas une fonction matricielle !!!!
il n'y a pas lieu de valider par Maj+ctrl+entrée
Entrée suffit !!!

--
@+
;o)))





























Avatar
Vincent
Salut Serge,

Merci du boulot...

J'ai juste un problème c'est que votre formule personnalisée pour le rang
5ème: le calcul plante: erreur de nom non valide: #NOM?
et je ne vois pas trop où est ce nom??? (C'est dans le fichier que vous
m'avez joint que se produit cette erreur et j'ai pas essayé encore de la
reproduire dans mes classeurs...)

Le reste fonctionne super. J'avais peur que la fonction Indirect plante
aussi, parce que j'ai des cellules fusionnées au milieu de ma plage... mais
ça marche pareil. Génial.

@+
Vincent


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

Salut Vincent,

Voici une exemple à cette adresse :
http://cjoint.com/?fgtuaO2VKj

Est-ce mieux ainsi ?

A+
Serge


"Vincent" a écrit dans le message de news:
%
Bonjour Serge,

C'est vraiment épatant vos affaires. Un grand merci. Les deux formules ci
dessous fonctionnent très bien. Je réponds tard par manque de temps, mais
j'apprécie vivement ces indications qui me permettront d'approfondir mes
faibles connaissances des fonctions...
Dans la formule précédente, si une cellule de la plage est vide (ça
arrive) la formule renvoie 1. Car elle arrondie 0.5 à 1, le reste semble
ignoré. Mais le calcul demeure juste pour les autres données (il me
semble)
Dans les deux autres formules que vous m'indiquiez ensuite, si une
cellule est vide, cela renvoi 6. Car elle calcul le tout pour 1. Ensuite
1*5+0.5=5.5 arrondi à 6.
Pour moi, si la cellule est vide, je veux que l'autre reste vide aussi!
et que ça n'influe pas sur le Rang 5ème des autres données.
D'habitude je palie à ça avec une fonction SI et une fonction ESTNUM...
si jamais vous avez une idée plus simple...

D'autre part j'ai tout essayé pour utiliser (et tenter de comprendre)
cette formule: =INDIRECT("A"&20*LIGNE()-20) Comme je ne parvenais à rien
j'ai fait exactement pareil que dans votre exemple: 20 chiffres de A1 à
A20, en B1 je mets ¡, en B2 je mets la formule, puis je tire en bas.
Alors en B2 j'obtiens la valeur qui se trouve en A20 et de B3 à B20
j'obtiens 0... Mystère! C'est normal les parenthèses vides?

Je viens de voir que vous étiez aussi du Canada...
@+
Cordialement
Vincent

"Tatanka" a écrit dans le message de
news: %

Salut Vincent,

Pour trouver le rang cinquième, voici deux formules plus courtes :
1.
=ARRONDI(0,5+5*SOMME((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Ctrl+Maj+Entrée)

2.
=ARRONDI(0,5+5*SOMMEPROD((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Entrée)

x : Nom de la plage A1:Ax


Serge




"Tatanka" a écrit dans le message de
news: %23SA$
Salut Vincent,

Peut-ëtre une solution pour transférer tes valeurs sans douleur sur
une seule colonne de cellules adjacentes à partir de la première ligne.
Je suppose que tes valeurs sont en A1, A20, A40, A60, ...
1) Choisis une colonne libre sur la même feuille. Pour mon
exemple, j'ai choisi la colonne C.
2) En C1, entre ¡
3) En C2, entre =INDIRECT("A"&20*LIGNE()-20)
4) Tire la formule vers le bas jusqu'à obtenir ta dernière valeur
5) Nomme la plage obtenue « x »
6) Entre alors la formule :
=ARRONDI(0,5+5*(SOMME((x>C1)*1)+0,5*SOMME((xÁ)*1))/NB(x);0)
où bon te semble et recopie vers la bas.

Serge


"Vincent" a écrit dans le message de news:
%
Merci Serge pour votre formule. C'est génial. Je ne comprends pas
parfaitement pourquoi SOMME va donner le nombre sup ou égal... mais ça
marche!
Elle fonctionne très bien.
Effectivement ça me donne une erreur #VALEUR si la plage est
discontinue. Fait que mon problème n'est pas tout à fait résolu car ça
risque d'être pas mal long d'envoyer toutes mes données dans une plage
continue...

Cordialement
Vincent

"Tatanka" a écrit dans le message de
news:
Salut Vincent,

Supposons que tes valeurs numériques sont en A1:A10 et
que cette plage se nomme x. Ta formule peut s'écrire ainsi :
=ARRONDI(0,5+5*(SOMME((x>A1)*1)+0,5*SOMME((x¡)*1))/NB(x);0)
(valider par Ctrl+Maj+Entrée).
À recopier vers le bas.
Mais si x est le nom d'une plage discontinue, je doute que ça
fonctionne ;-(

Serge


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

Bonjour Modeste.

En tout cas, même si je ne sais pas parfaitement ce qu'est une
fonction matricielle, j'ai validé comme JP disait et ça a "rendu un
truc pas mal"...
Sauf que ça correspond pas à ce que je cherche...
Bonne journée à vous.
Vincent


"Modeste" a écrit dans le message de news:
%
Bonsour® jp avec ferveur ;o))) vous nous disiez :

Je ne sais pas si j'ai tout compris mais tu devrais essayé de ce
coté
ci:
=GRANDE.VALEUR(Plage;5)
Valide en faisant Maj+ctrl+entrée car c'est une fonction
matricielle


??????
ce n'est pas une fonction matricielle !!!!
il n'y a pas lieu de valider par Maj+ctrl+entrée
Entrée suffit !!!

--
@+
;o)))

































Avatar
Tatanka
Ave Vincent,

J'ai juste un problème c'est que votre formule personnalisée pour le rang 5ème: le calcul plante: erreur de nom non valide: #NOM?
BIZZ ! Je n'ai pas ce problème chez moi.

À tout hasard, clique le menu Insertion / Nom / Définir... :
Il y a un x qui traîne là. Sélectionne-le et tape sur Supprimer.
La formule en D1 est bien =rang5(C1;$C$1:$C$20)
J'utilise Exvcel 2003.

Serge


"Vincent" a écrit dans le message de news:
Salut Serge,

Merci du boulot...

J'ai juste un problème c'est que votre formule personnalisée pour le rang 5ème: le calcul plante: erreur de nom non valide: #NOM?
et je ne vois pas trop où est ce nom??? (C'est dans le fichier que vous m'avez joint que se produit cette erreur et j'ai pas
essayé encore de la reproduire dans mes classeurs...)

Le reste fonctionne super. J'avais peur que la fonction Indirect plante aussi, parce que j'ai des cellules fusionnées au milieu de
ma plage... mais ça marche pareil. Génial.

@+
Vincent


"Tatanka" a écrit dans le message de news:
Salut Vincent,

Voici une exemple à cette adresse :
http://cjoint.com/?fgtuaO2VKj

Est-ce mieux ainsi ?

A+
Serge


"Vincent" a écrit dans le message de news: %
Bonjour Serge,

C'est vraiment épatant vos affaires. Un grand merci. Les deux formules ci dessous fonctionnent très bien. Je réponds tard par
manque de temps, mais j'apprécie vivement ces indications qui me permettront d'approfondir mes faibles connaissances des
fonctions...
Dans la formule précédente, si une cellule de la plage est vide (ça arrive) la formule renvoie 1. Car elle arrondie 0.5 à 1, le
reste semble ignoré. Mais le calcul demeure juste pour les autres données (il me semble)
Dans les deux autres formules que vous m'indiquiez ensuite, si une cellule est vide, cela renvoi 6. Car elle calcul le tout pour
1. Ensuite 1*5+0.5=5.5 arrondi à 6.
Pour moi, si la cellule est vide, je veux que l'autre reste vide aussi! et que ça n'influe pas sur le Rang 5ème des autres
données.
D'habitude je palie à ça avec une fonction SI et une fonction ESTNUM... si jamais vous avez une idée plus simple...

D'autre part j'ai tout essayé pour utiliser (et tenter de comprendre) cette formule: =INDIRECT("A"&20*LIGNE()-20) Comme je ne
parvenais à rien j'ai fait exactement pareil que dans votre exemple: 20 chiffres de A1 à A20, en B1 je mets ¡, en B2 je mets
la formule, puis je tire en bas. Alors en B2 j'obtiens la valeur qui se trouve en A20 et de B3 à B20 j'obtiens 0... Mystère!
C'est normal les parenthèses vides?

Je viens de voir que vous étiez aussi du Canada...
@+
Cordialement
Vincent

"Tatanka" a écrit dans le message de news: %

Salut Vincent,

Pour trouver le rang cinquième, voici deux formules plus courtes :
1.
=ARRONDI(0,5+5*SOMME((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Ctrl+Maj+Entrée)

2.
=ARRONDI(0,5+5*SOMMEPROD((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Entrée)

x : Nom de la plage A1:Ax


Serge




"Tatanka" a écrit dans le message de news: %23SA$
Salut Vincent,

Peut-ëtre une solution pour transférer tes valeurs sans douleur sur
une seule colonne de cellules adjacentes à partir de la première ligne.
Je suppose que tes valeurs sont en A1, A20, A40, A60, ...
1) Choisis une colonne libre sur la même feuille. Pour mon
exemple, j'ai choisi la colonne C.
2) En C1, entre ¡
3) En C2, entre =INDIRECT("A"&20*LIGNE()-20)
4) Tire la formule vers le bas jusqu'à obtenir ta dernière valeur
5) Nomme la plage obtenue « x »
6) Entre alors la formule :
=ARRONDI(0,5+5*(SOMME((x>C1)*1)+0,5*SOMME((xÁ)*1))/NB(x);0)
où bon te semble et recopie vers la bas.

Serge


"Vincent" a écrit dans le message de news: %
Merci Serge pour votre formule. C'est génial. Je ne comprends pas parfaitement pourquoi SOMME va donner le nombre sup ou
égal... mais ça marche!
Elle fonctionne très bien.
Effectivement ça me donne une erreur #VALEUR si la plage est discontinue. Fait que mon problème n'est pas tout à fait résolu
car ça risque d'être pas mal long d'envoyer toutes mes données dans une plage continue...

Cordialement
Vincent

"Tatanka" a écrit dans le message de news:
Salut Vincent,

Supposons que tes valeurs numériques sont en A1:A10 et
que cette plage se nomme x. Ta formule peut s'écrire ainsi :
=ARRONDI(0,5+5*(SOMME((x>A1)*1)+0,5*SOMME((x¡)*1))/NB(x);0)
(valider par Ctrl+Maj+Entrée).
À recopier vers le bas.
Mais si x est le nom d'une plage discontinue, je doute que ça fonctionne ;-(

Serge


"Vincent" a écrit dans le message de news:
Bonjour Modeste.

En tout cas, même si je ne sais pas parfaitement ce qu'est une fonction matricielle, j'ai validé comme JP disait et ça a
"rendu un truc pas mal"...
Sauf que ça correspond pas à ce que je cherche...
Bonne journée à vous.
Vincent


"Modeste" a écrit dans le message de news: %
Bonsour® jp avec ferveur ;o))) vous nous disiez :

Je ne sais pas si j'ai tout compris mais tu devrais essayé de ce coté
ci:
=GRANDE.VALEUR(Plage;5)
Valide en faisant Maj+ctrl+entrée car c'est une fonction matricielle


??????
ce n'est pas une fonction matricielle !!!!
il n'y a pas lieu de valider par Maj+ctrl+entrée
Entrée suffit !!!

--
@+
;o)))





































Avatar
Vincent
OK ça fonctionne. Mille mercis.
J'ai aussi Excel 2003. La formule en D1 est la bonne. J'espère ensuite que
je réussirai à l'envoyer dans mes classeurs... sinon je reviendrai par là!
Si je comprends bien votre formule fonctionne sans qu'on ait besoin de
définir un nom à la plage où se trouvent toutes nos données, c'est bien ça?

En fait j'ai réouvert le classeur. J'ai eu l'avertissement de sécurité pour
les macro non signées et donc désactivées. Je ne sais pas pourquoi je n'ai
pas eu cet avertissement avant, mais bon... en tout cas j'ai alors deviné le
problème.
J'ai donc modifié le niveau de sécurité, me disant que vous êtes sans doute
une source sure! J'enregistre, je ferme, j'ouvre, et ça marche! super!

Cordialement
Vincent

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

Ave Vincent,

J'ai juste un problème c'est que votre formule personnalisée pour le rang
5ème: le calcul plante: erreur de nom non valide: #NOM?
BIZZ ! Je n'ai pas ce problème chez moi.

À tout hasard, clique le menu Insertion / Nom / Définir... :
Il y a un x qui traîne là. Sélectionne-le et tape sur Supprimer.
La formule en D1 est bien =rang5(C1;$C$1:$C$20)
J'utilise Exvcel 2003.

Serge


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

Salut Serge,

Merci du boulot...

J'ai juste un problème c'est que votre formule personnalisée pour le rang
5ème: le calcul plante: erreur de nom non valide: #NOM?
et je ne vois pas trop où est ce nom??? (C'est dans le fichier que vous
m'avez joint que se produit cette erreur et j'ai pas essayé encore de la
reproduire dans mes classeurs...)

Le reste fonctionne super. J'avais peur que la fonction Indirect plante
aussi, parce que j'ai des cellules fusionnées au milieu de ma plage...
mais ça marche pareil. Génial.

@+
Vincent


"Tatanka" a écrit dans le message de
news:
Salut Vincent,

Voici une exemple à cette adresse :
http://cjoint.com/?fgtuaO2VKj

Est-ce mieux ainsi ?

A+
Serge


"Vincent" a écrit dans le message de news:
%
Bonjour Serge,

C'est vraiment épatant vos affaires. Un grand merci. Les deux formules
ci dessous fonctionnent très bien. Je réponds tard par manque de temps,
mais j'apprécie vivement ces indications qui me permettront
d'approfondir mes faibles connaissances des fonctions...
Dans la formule précédente, si une cellule de la plage est vide (ça
arrive) la formule renvoie 1. Car elle arrondie 0.5 à 1, le reste
semble ignoré. Mais le calcul demeure juste pour les autres données (il
me semble)
Dans les deux autres formules que vous m'indiquiez ensuite, si une
cellule est vide, cela renvoi 6. Car elle calcul le tout pour 1.
Ensuite 1*5+0.5=5.5 arrondi à 6.
Pour moi, si la cellule est vide, je veux que l'autre reste vide aussi!
et que ça n'influe pas sur le Rang 5ème des autres données.
D'habitude je palie à ça avec une fonction SI et une fonction ESTNUM...
si jamais vous avez une idée plus simple...

D'autre part j'ai tout essayé pour utiliser (et tenter de comprendre)
cette formule: =INDIRECT("A"&20*LIGNE()-20) Comme je ne parvenais à
rien j'ai fait exactement pareil que dans votre exemple: 20 chiffres de
A1 à A20, en B1 je mets ¡, en B2 je mets la formule, puis je tire en
bas. Alors en B2 j'obtiens la valeur qui se trouve en A20 et de B3 à
B20 j'obtiens 0... Mystère! C'est normal les parenthèses vides?

Je viens de voir que vous étiez aussi du Canada...
@+
Cordialement
Vincent

"Tatanka" a écrit dans le message de
news: %

Salut Vincent,

Pour trouver le rang cinquième, voici deux formules plus courtes :
1.
=ARRONDI(0,5+5*SOMME((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Ctrl+Maj+Entrée)

2.
=ARRONDI(0,5+5*SOMMEPROD((x>A1)+0,5*(x¡))/NB(x);0)
(à valider par Entrée)

x : Nom de la plage A1:Ax


Serge




"Tatanka" a écrit dans le message de
news: %23SA$
Salut Vincent,

Peut-ëtre une solution pour transférer tes valeurs sans douleur sur
une seule colonne de cellules adjacentes à partir de la première
ligne.
Je suppose que tes valeurs sont en A1, A20, A40, A60, ...
1) Choisis une colonne libre sur la même feuille. Pour mon
exemple, j'ai choisi la colonne C.
2) En C1, entre ¡
3) En C2, entre =INDIRECT("A"&20*LIGNE()-20)
4) Tire la formule vers le bas jusqu'à obtenir ta dernière valeur
5) Nomme la plage obtenue « x »
6) Entre alors la formule :
=ARRONDI(0,5+5*(SOMME((x>C1)*1)+0,5*SOMME((xÁ)*1))/NB(x);0)
où bon te semble et recopie vers la bas.

Serge


"Vincent" a écrit dans le message de news:
%
Merci Serge pour votre formule. C'est génial. Je ne comprends pas
parfaitement pourquoi SOMME va donner le nombre sup ou égal... mais
ça marche!
Elle fonctionne très bien.
Effectivement ça me donne une erreur #VALEUR si la plage est
discontinue. Fait que mon problème n'est pas tout à fait résolu car
ça risque d'être pas mal long d'envoyer toutes mes données dans une
plage continue...

Cordialement
Vincent

"Tatanka" a écrit dans le message de
news:
Salut Vincent,

Supposons que tes valeurs numériques sont en A1:A10 et
que cette plage se nomme x. Ta formule peut s'écrire ainsi :
=ARRONDI(0,5+5*(SOMME((x>A1)*1)+0,5*SOMME((x¡)*1))/NB(x);0)
(valider par Ctrl+Maj+Entrée).
À recopier vers le bas.
Mais si x est le nom d'une plage discontinue, je doute que ça
fonctionne ;-(

Serge


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

Bonjour Modeste.

En tout cas, même si je ne sais pas parfaitement ce qu'est une
fonction matricielle, j'ai validé comme JP disait et ça a "rendu
un truc pas mal"...
Sauf que ça correspond pas à ce que je cherche...
Bonne journée à vous.
Vincent


"Modeste" a écrit dans le message de news:
%
Bonsour® jp avec ferveur ;o))) vous nous disiez :

Je ne sais pas si j'ai tout compris mais tu devrais essayé de ce
coté
ci:
=GRANDE.VALEUR(Plage;5)
Valide en faisant Maj+ctrl+entrée car c'est une fonction
matricielle


??????
ce n'est pas une fonction matricielle !!!!
il n'y a pas lieu de valider par Maj+ctrl+entrée
Entrée suffit !!!

--
@+
;o)))









































1 2