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

Trouver la dernière cellule saisie en colonne ???

23 réponses
Avatar
LE TROLL
Bonjour,

Trouver la dernière cellule saisie d'une colonne ???

=Ventes!D258

Et je voudrais ceci

=Ventes!$D__dernière cellule saisie de la colonne__


Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------

10 réponses

1 2 3
Avatar
LargoWinch
Daniel.C a écrit :
Daniel.C a écrit :
La formule est matricielle, il faut la valider vec CTRL+MAJ+Entrée.
D:D=0 renvoi une matrice de valeurs VRAI quand la cellule est vide et
FAUX dans le cas contraire. "EQUIV(VRAI;D:D=0;0)"renvoie donc la
position de la première cellule vide et "EQUIV(VRAI;D:D=0;0)-1) la
cellule précédente. Il faut, par contre qu'il n'y ait pas de cellule
vide dans la plage de cellules remplies.
Daniel




Merci pour ces explications :o).

Je ne comprends pas pourquoi ma formule ne marche pas. Je valide bien
en matriciel (les {} apparaissent bien), mais j'ai toujours le
#Nombre. "{=F:F=0}" sur une colonne vierge me rend bien VRAI, ou FAUX
si il y a une valeur dans au moins la 1ere colonne...

Mais, sachant qu'il ne faut pas de cellule vide au milieu de la plage,
le NBVAL n'est pas plus simple, puisqu'il évite la formule matricielle
(j'ai un peu du mal avec ça ;) ) ?



Désolé pour l'envoi intempestif. Regarde donc le classeur à l'adresse :
http://www.cijoint.fr/cjlink.php?file=cj200811/cijKz6qYhq.xls
J'ai repris la formule d'Isabelle qui autorise les cellules vides.
NBVAL ne compte que les cellules non vides, on ne peut pas l'utiliser
pour trouver la dernière cellule.
Daniel




Oui, c'est pour ça que je précisais qu'il ne fallait pas de cellules vides.
Je garde précieusement cet exemple (heureusement, avec cijoint, il
restera plus de 21j ;) ), car c'est une question qui me revient souvent
et cette solution m'a l'air la plus fiable et la plus souple que j'ai vu.
Je réalise, par contre, que cela doit obliger à stocker cette valeur
dans une cellule masquée ou cachée dans un autre onglet si on veut
l'utiliser dans une formule de type indirect (je répète, j'ai un peu du
mal a travailler avec les formules matricielles) ?
Avatar
Daniel.C
> Je réalise, par contre, que cela doit obliger à stocker cette valeur dans une
cellule masquée ou cachée dans un autre onglet si on veut l'utiliser dans une
formule de type indirect (je répète, j'ai un peu du mal a travailler avec les
formules matricielles) ?



Pourquoi ?
Daniel
Avatar
LargoWinch
Daniel.C a écrit :
Je réalise, par contre, que cela doit obliger à stocker cette valeur
dans une cellule masquée ou cachée dans un autre onglet si on veut
l'utiliser dans une formule de type indirect (je répète, j'ai un peu
du mal a travailler avec les formules matricielles) ?



Pourquoi ?
Daniel




Ben je sais pas... Je maitrise mal, donc me fais sans doute des idées...
Je me dis qu'il n'est pas possible de mixer une formule matricielle avec
une normale, mais je me goure sans doute.

Par contre, une question/rematrque par rapport à ta PJ. La formule
magique est :
{=INDIRECT("Ventes!D"&MAX(SI(Ventes!D1:D500<>"";LIGNE(Ventes!D1:D500))))}

Ce qui implique qu'on est sûr d'avoir au max 500 lignes renseignées.
Comment ferait-on pour s'affranchir de cette limite ?
{=INDIRECT("Ventes!D"&MAX(SI(Ventes!D:D<>"";LIGNE(Ventes!D:D))))} ne
semble pas marcher,
{=INDIRECT("Ventes!D"&MAX(SI(Ventes!D1:D65536<>"";LIGNE(Ventes!D1:D65536))))}
me parait excessif...

Bon week-end
Avatar
Daniel.C
Deux manières de t'en sortir.tu ne peux pas mettre de colonne ou de
ligne entière dans une formule matricielle, mais tu peux mettre :
=INDIRECT("Ventes!D"&MAX(SI(Ventes!D1:D50000<>"";LIGNE(Ventes!D1:D50000))))
ou même 65535 et même plus avec XL2007.
ou alors, définir une plage dynamique "Plage" qui fait référence à :
ÞCALER(Ventes!$D$1;;;NBVAL($D:$D))
Mais là, il ne faut pas de cellules vides parmi les autres.
La formule devient :
=INDIRECT("Ventes!D"&MAX(SI(Plage<>"";LIGNE(Plage))))
Daniel

Daniel.C a écrit :
Je réalise, par contre, que cela doit obliger à stocker cette valeur dans
une cellule masquée ou cachée dans un autre onglet si on veut l'utiliser
dans une formule de type indirect (je répète, j'ai un peu du mal a
travailler avec les formules matricielles) ?



Pourquoi ?
Daniel




Ben je sais pas... Je maitrise mal, donc me fais sans doute des idées...
Je me dis qu'il n'est pas possible de mixer une formule matricielle avec une
normale, mais je me goure sans doute.

Par contre, une question/rematrque par rapport à ta PJ. La formule magique
est :
{=INDIRECT("Ventes!D"&MAX(SI(Ventes!D1:D500<>"";LIGNE(Ventes!D1:D500))))}

Ce qui implique qu'on est sûr d'avoir au max 500 lignes renseignées. Comment
ferait-on pour s'affranchir de cette limite ?
{=INDIRECT("Ventes!D"&MAX(SI(Ventes!D:D<>"";LIGNE(Ventes!D:D))))} ne semble
pas marcher,
{=INDIRECT("Ventes!D"&MAX(SI(Ventes!D1:D65536<>"";LIGNE(Ventes!D1:D65536))))}
me parait excessif...

Bon week-end


Avatar
LE TROLL
Ecellent, c'est toi qui a gagné jusqu'à présent (il n'y a en effet pas de
blancs)... Merci


------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------



"LargoWinch" a écrit dans le message de
news: gg67hl$nhk$
| LE TROLL a écrit :
| > Bonjour,
| >
| > Trouver la dernière cellule saisie d'une colonne ???
| >
| > =Ventes!D258
| >
| > Et je voudrais ceci
| >
| > =Ventes!$D__dernière cellule saisie de la colonne__
| >
| >
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> ------------------------------------------------------------------------------------
| >
| >
| A condition que tes valeurs commencent à la ligne 1 sans trou :
|
| =INDIRECT("Ventes!$D"&NBVAL(Ventes!D:D))
|
| S'il y a des trous, il faut arriver a déterminer le rang de la dernière
| cellule et remplace le "NBVAL(Ventes!D:D)"
Avatar
LE TROLL
Bonjour, y a rien à valider, j'ai recopié la formule, quand ça avance d'un
en colonne concernée et que le chiffre change, ça le prend bien en compte...

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Daniel.C" a écrit dans le message de news:
%
| La formule est matricielle, il faut la valider vec CTRL+MAJ+Entrée.
| D:D=0 renvoi une matrice de valeurs VRAI quand la cellule est vide et
| FAUX dans le cas contraire. "EQUIV(VRAI;D:D=0;0)"renvoie donc la
| position de la première cellule vide et "EQUIV(VRAI;D:D=0;0)-1) la
| cellule précédente. Il faut, par contre qu'il n'y ait pas de cellule
| vide dans la plage de cellules remplies.
| Daniel
|
| > Daniel.C a écrit :
| >> Bonjour.
| >> Formule matricielle :
| >> =INDIRECT("Ventes!D"&EQUIV(VRAI;D:D=0;0)-1)
| >> Cordialement.
| >> Daniel
| >>
| >
| > Pourrais-tu m'expliquer comment l'EQUIV donne l'indice max dans D ?
| >
| > J'ai essayé de créer une formule contenant juste "=EQUIV(VRAI;D:D=0;0)",
| > j'obtiens un #N/A en formule normale, un #NOMBRE en formule matricielle.
| >
| > Même en lisant l'aide, je ne comprends pas...
|
|
Avatar
LE TROLL
Pourquoi <ctrl>+<shift><rc> (sur la formule) ???
Pour moi ça ne crée rien de particulier

Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------


"isabelle" a écrit dans le message de news:
%
| bonjour ,
|
| matriciel
|
| =INDIRECT("Ventes!D"&MAX(SI(Ventes!D1:D500<>"";LIGNE(Ventes!D1:D500))))
|
| valider avec Ctrl+Maj+Enter
|
| isabelle
|
| LE TROLL a écrit :
| > Bonjour,
| >
| > Merci, mais ce que tu as fait ne fonctionne pas :
| >
| > =RECHERCHE(2,1/(D1:D500<>0),D1:D500)
| >
| > Je remets la formule en cas ou :
| >
| > =Ventes!D258
| >
| > Doit devenir
| >
| > =Ventes!$D_dernière_cellule_écrite
| >
| > En plus, tu n'as pas intégré " Ventes! "
| >
| >
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> ------------------------------------------------------------------------------------
| >
| >
| > "Carim" a écrit dans le message de news:
| >
| > | Bonjour,
| > |
| > | Tu peux utiliser la formule suivante :
| > |
| > | =RECHERCHE(2,1/(D1:D500<>0),D1:D500)
| > |
| > | A+
| > | Carim
| > |
| >
| >
| >
Avatar
Modeste
Bonsour® Attila avec ferveur ;o))) vous nous disiez :

Pourquoi <ctrl>+<shift><rc> (sur la formule) ???
Pour moi ça ne crée rien de particulier



;o)))
c'est vrai que présentement on le connait, "le particulier" ...

À propos des formules et des constantes matricielles
Une formule matricielle peut effectuer plusieurs calculs et renvoyer des résultats simples ou multiples. Les formules matricielles interviennent sur deux ensembles de valeurs ou plus appelés arguments matriciels. Chaque argument matriciel doit avoir le même nombre de lignes et de colonnes. Vous créez des formules matricielles de la même façon que d'autres formules, sauf que vous devez appuyer sur CTRL+MAJ+ENTRÉE pour taper la formule.
Les constantes matricielles peuvent être utilisées à la plage des références lorsque vous ne souhaitez pas entrer chaque valeur de constante dans une cellule séparée dans la feuille de calcul.
Certaines des fonctions intégrées sont des formules matricielles et doivent être entrées sous forme de tableaux afin d'obtenir des résultats corrects.

L'aide Excel (F1) n'est pas réservée qu'aux "particuliers" ;o)))

--
@+
;o)))
Avatar
LE TROLL
Bonjour Modeste :o)

L'aide F1, oui, certes, toutefois les forums ne sont pas fait non plus
pour les chiens, ça permet de gagner du temps aussi...

J'aime bien quand tu me dis "vous", ça me donne de l'importance, comme
si j'étais plusieurs, tu peux aussi mettre "Seigneur" devant...

Tu dis :

"vous devez appuyer sur CTRL+MAJ+ENTRÉE pour taper la formule"

Mais !!! Je ne tape rien du tout, même pas un socialiste, heu, non, je
veux dire une formule, j'entre simplement dans une unique cellule par
copier/coller la formule que l'on m'a transmise, après ça marche tout seul !
Je ne vois pas ce qu'il y a à taper, peux-tu m'expliquer ???

Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------


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

Pourquoi <ctrl>+<shift><rc> (sur la formule) ???
Pour moi ça ne crée rien de particulier



;o)))
c'est vrai que présentement on le connait, "le particulier" ...

À propos des formules et des constantes matricielles
Une formule matricielle peut effectuer plusieurs calculs et renvoyer des
résultats simples ou multiples. Les formules matricielles interviennent sur
deux ensembles de valeurs ou plus appelés arguments matriciels. Chaque
argument matriciel doit avoir le même nombre de lignes et de colonnes. Vous
créez des formules matricielles de la même façon que d'autres formules, sauf
que vous devez appuyer sur CTRL+MAJ+ENTRÉE pour taper la formule.
Les constantes matricielles peuvent être utilisées à la plage des références
lorsque vous ne souhaitez pas entrer chaque valeur de constante dans une
cellule séparée dans la feuille de calcul.
Certaines des fonctions intégrées sont des formules matricielles et doivent
être entrées sous forme de tableaux afin d'obtenir des résultats corrects.

L'aide Excel (F1) n'est pas réservée qu'aux "particuliers" ;o)))

--
@+
;o)))
Avatar
LargoWinch
LE TROLL a exposé le 22/11/2008 :
Ecellent, c'est toi qui a gagné jusqu'à présent (il n'y a en effet pas de
blancs)... Merci




:o) Yessssssssss !

--
Largo
"C'est pas parce qu'il sont nombreux a avoir tort qu'il ont forcément
raison" - Coluche
1 2 3