Numbers - Comment reporter la dernière cellule ?

  • Créateur du sujet Créateur du sujet Shan
  • Date de début Date de début

Shan

Membre confirmé
9 Mars 2009
31
0
Bonjour,

Je cale sur un problème tout simple. J'ai 2 tableaux. Le 1e présente de manière aléatoire une suite de lignes vides et non vides comme ceci :

Banque et caisse
Date Valeur Remarques
1/01/09 5.000,00 € 0
8/09/09 6.300,00 €

12/09/09 2.569,00 € 0
16/07/09 6.520,00 €

Je dois reporter seulement la dernière valeur encodée vers le tableau 2 :

Situation actuelle
6520,00 €

Cette dernière valeur peut être + ou- mais jamais 0. Je ne parviens pas à trouver la formule adéquate.

Un petit coup de pouce serait apprécié, Merci, merci....
 
Bonjour,

Pas de réaction ? Le problème ne serait il pas si simple que cela ? Ca parait peu probable qu'il ne soit pas possible de reporter la dernière ligne remplie. Merci de votre aide. Urgent...


Bonjour,

Je cale sur un problème tout simple. J'ai 2 tableaux. Le 1e présente de manière aléatoire une suite de lignes vides et non vides comme ceci :

Banque et caisse
Date Valeur Remarques
1/01/09 5.000,00 € 0
8/09/09 6.300,00 €

12/09/09 2.569,00 € 0
16/07/09 6.520,00 €

Je dois reporter seulement la dernière valeur encodée vers le tableau 2 :

Situation actuelle
6520,00 €

Cette dernière valeur peut être + ou- mais jamais 0. Je ne parviens pas à trouver la formule adéquate.

Un petit coup de pouce serait apprécié, Merci, merci....
 
bonjour,

si tes dates étaient en ordre chronologique, je te dirais de trier le tableau en ordre chronologique décroissant, puis de reporter la première cellule, qui sera toujours au même endroit.
Mais d'après ton exemple, çà n'a pas l'air d'être le cas.....
 
bonjour,

si tes dates étaient en ordre chronologique, je te dirais de trier le tableau en ordre chronologique décroissant, puis de reporter la première cellule, qui sera toujours au même endroit.
Mais d'après ton exemple, çà n'a pas l'air d'être le cas.....
Hélas, l'ordre décroissant ne répond pas au problème. Il faudrait une fonction qui me permette de référencier la dernière cellule. Cela fonctionne avec SOMME.SI mais pas sans addition. Du moins pas à ma connaissance. Je reste surpris que personne n'ai eu à affronter et solutionner ce problème. Espoir, espoir qu'un jour....
 
Manuellement, il y a
édition > atteindre > cellules ... >dernière cellule

mais c'est la dernière cellule de la feuille qui est trouvée (même si celle-ci contient un espace).

A mon humble avis, il n'y a pas de fonction qui fait référence à la dernière cellule (encodée, d'une colonne, d'une ligne, d'une plage donnée); la seule issue sera d'utiliser une macro (à condition que tu n'utilises pas Office 2008).

En gros :
- recherche de la dernière cellule non vide d'une plage
- recopie de son contenu dans une cellule donnée

l'activation d'une macro se fait (entre autres) en pressant sur un bouton, ce qu'il ne faudra pas oublier...
 
Salut,

peut-être que depuis le temps tu as trouver la solution ou une autre façon de faire,

Pour ton problème je te donne la mienne pour info

si la dernière valeur à retourner est dans la zone B2:B102 par exemple
j'utilise la formule
=INDEX(B2:B102;NBVAL(B2:B102))
et cela fais son job
 
J'utilise la formule
=INDEX(B2:B102;NBVAL(B2:B102))
et cela fait son job
... pas dans le cas où il y a des lignes vides (voir le descriptif de la demande de Shan).

Par contre, la formule =RECHERCHE(9^9;B:B) devrait faire l'affaire... ;)
 
Dernière édition:
Par contre, la formule =RECHERCHE(9^9;B:B) devrait faire l'affaire... ;)
Bonjour Bernard,

Si tu as le temps, pourrais-tu expliquer brièvement par quelle magie cette requête donne la dernière cellule occupée dans la colonne B ?
Si je comprends bien la syntaxe — mais il y a sûrement quelque chose qui m'échappe… —, on recherche la valeur "9 exposant 9" (= 387.420.489) dans l'intervalle de cellules "B:B" (c.-à-d. la colonne B) ?
 
Bonjour baron ! :coucou:

Damned ! Je me suis fait avoir (encore une fois) par Numbers. En repassant tout ça en détail, je me rends compte que cette fonction ne donne pas le bon résultat (dans Numbers)...

En fait, cette fonction est un "classique" dans Excel. La fonction RECHERCHE évalue toutes les cellules de la plage indiquée. Quand il n'y a pas de réponse valide, elle retourne la dernière valeur rencontrée. Donc, en lançant une recherche sur un nombre très grand qu'on est sûr de ne pas atteindre (si on devait dépasser 387 milliards, on peut toujours en rajouter une couche genre 9^9^9), la fonction renvoie la dernière valeur inférieure rencontrée, soit la dernière de la colonne. On peut faire de même pour du texte en faisant une recherche sur la chaîne "ZZZ".

Mais là où les choses se sont compliquées, c'est que dans l'exemple de Shan, la dernière valeur de la colonne est aussi la plus grande valeur. Et je n'ai pas prêté attention à ce point. Or Numbers est décidément fâché avec le traitement vectoriel ou du moins ne procède pas de la même façon et ne retourne pas la dernière valeur rencontrée, mais la valeur la plus proche (ce qu'on peut trouver plus approprié, dans l'absolu). Cela m'a fait croire à tort que la formule fonctionnait de la même façon dans Numbers, mais ce n'est pas vrai ! Si on ajoute une nouvelle ligne avec une valeur quelconque, mais plus petite que 6520, c'est toujours 6520 qui est retourné (alors que dans Excel c'est bien la dernière valeur ajoutée). J'ai donc une nouvelle fois dit une grosse ânerie ! o_O
 
Dernière édition:
  • J’aime
Réactions: baron et Sly54
Bonjour @baron :coucou: et @Aliboron :coucou:

Je m'étais déjà penché sur le problème...
Dans excel pas de problème la formule d'Aliboron fonctionne mais donne la valeur max de la colonne dans Numbers.

La solution que j'emploie est de passer par une colonne intermédiaire dans mon exemple colonne A
Dans cette colonne je récupère le numéro de ligne si une valeur existe dans B avec la formule .
SI(ESTVIDE(B2);"";LIGNE(B2))
puis je récupère la valeur de la dernière cellule de la colonne B avec la formule.
INDIRECT("B" & MAX(A))

C'est tordu, mais bon cela fonctionne !
 
  • J’aime
  • J’adore
Réactions: baron et Aliboron