Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
a écrit dans le message de news:
> > Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" wrote:
> Salut,
> ;-) regarde un peu plus haut.
> Où ça ?
> Et que dois-je y voir ?
> Serge
> a écrit dans le message de news:
> Salut Serge,
> ;-) regarde un peu plus haut.
> On 19 mar, 16:07, "garnote" wrote:
> > Tentative de généralisation :- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
<gmlst...@gmail.com> a écrit dans le message de news: b523f48a-03be-4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
> > Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
> Salut,
> ;-) regarde un peu plus haut.
> Où ça ?
> Et que dois-je y voir ?
> Serge
> <gmlst...@gmail.com> a écrit dans le message de news: db57df41-e2d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
> Salut Serge,
> ;-) regarde un peu plus haut.
> On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
> > Tentative de généralisation :- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
a écrit dans le message de news:
> > Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" wrote:
> Salut,
> ;-) regarde un peu plus haut.
> Où ça ?
> Et que dois-je y voir ?
> Serge
> a écrit dans le message de news:
> Salut Serge,
> ;-) regarde un peu plus haut.
> On 19 mar, 16:07, "garnote" wrote:
> > Tentative de généralisation :- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
a écrit dans le message de news: 4f198daa-20dc-44e
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" wrote:
> Oui je comprends mais je cherche à généraliser pour un plage
> qui ne débute pas forcément à la première colonne tout en
> ayant le résultat dans une plage quelconque sans avoir
> à modifier manuellement certaines constantes de la formule.
> A+
> Serge
> a écrit dans le message de news: b523f48a-03be-4
> > > Tentative de généralisation..
> tu peux l'entrer en matricielle de X1 à...
> =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> @+
> --
> lSteph
> On 19 mar, 16:28, "garnote" wrote:
> > Salut,
> > ;-) regarde un peu plus haut.
> > Où ça ?
> > Et que dois-je y voir ?
> > Serge
> > a écrit dans le message de news: db57df41-e2d9
> > Salut Serge,
> > ;-) regarde un peu plus haut.
> > On 19 mar, 16:07, "garnote" wrote:
> > > Tentative de généralisation :- Masquer le texte des messages pr écédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
<gmlst...@gmail.com> a écrit dans le message de news: 4f198daa-20dc-44e 6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
> Oui je comprends mais je cherche à généraliser pour un plage
> qui ne débute pas forcément à la première colonne tout en
> ayant le résultat dans une plage quelconque sans avoir
> à modifier manuellement certaines constantes de la formule.
> A+
> Serge
> <gmlst...@gmail.com> a écrit dans le message de news: b523f48a-03be-4 374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
> > > Tentative de généralisation..
> tu peux l'entrer en matricielle de X1 à...
> =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> @+
> --
> lSteph
> On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
> > Salut,
> > ;-) regarde un peu plus haut.
> > Où ça ?
> > Et que dois-je y voir ?
> > Serge
> > <gmlst...@gmail.com> a écrit dans le message de news: db57df41-e2d9 -4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
> > Salut Serge,
> > ;-) regarde un peu plus haut.
> > On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
> > > Tentative de généralisation :- Masquer le texte des messages pr écédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
a écrit dans le message de news: 4f198daa-20dc-44e
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" wrote:
> Oui je comprends mais je cherche à généraliser pour un plage
> qui ne débute pas forcément à la première colonne tout en
> ayant le résultat dans une plage quelconque sans avoir
> à modifier manuellement certaines constantes de la formule.
> A+
> Serge
> a écrit dans le message de news: b523f48a-03be-4
> > > Tentative de généralisation..
> tu peux l'entrer en matricielle de X1 à...
> =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> @+
> --
> lSteph
> On 19 mar, 16:28, "garnote" wrote:
> > Salut,
> > ;-) regarde un peu plus haut.
> > Où ça ?
> > Et que dois-je y voir ?
> > Serge
> > a écrit dans le message de news: db57df41-e2d9
> > Salut Serge,
> > ;-) regarde un peu plus haut.
> > On 19 mar, 16:07, "garnote" wrote:
> > > Tentative de généralisation :- Masquer le texte des messages pr écédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:
> Il me semble qu'il faut modifier quelque chose dans ta formule si
> la première colonne de plg est différente de 1. Non ?
> Serge
> a écrit dans le message de news: 4f198daa-20dc-4
> ..ou encore pour plg (à définir en réf absolue)
> =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> (plg<>"";COLONNE(plg));COLONNE(A1))))
> en matricielle
> --
> lSteph
> On 19 mar, 17:09, "garnote" wrote:
> > Oui je comprends mais je cherche à généraliser pour un plage
> > qui ne débute pas forcément à la première colonne tout en
> > ayant le résultat dans une plage quelconque sans avoir
> > à modifier manuellement certaines constantes de la formule.
> > A+
> > Serge
> > a écrit dans le message de news: b523f48a-03be
> > > > Tentative de généralisation..
> > tu peux l'entrer en matricielle de X1 à...
> > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR( SI
> > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > @+
> > --
> > lSteph
> > On 19 mar, 16:28, "garnote" wrote:
> > > Salut,
> > > ;-) regarde un peu plus haut.
> > > Où ça ?
> > > Et que dois-je y voir ?
> > > Serge
> > > a écrit dans le message de news: db57df41-e2
> > > Salut Serge,
> > > ;-) regarde un peu plus haut.
> > > On 19 mar, 16:07, "garnote" wrote:
> > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" <garnote3R...@videotron.ca> wrote:
> Il me semble qu'il faut modifier quelque chose dans ta formule si
> la première colonne de plg est différente de 1. Non ?
> Serge
> <gmlst...@gmail.com> a écrit dans le message de news: 4f198daa-20dc-4 4e6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
> ..ou encore pour plg (à définir en réf absolue)
> =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> (plg<>"";COLONNE(plg));COLONNE(A1))))
> en matricielle
> --
> lSteph
> On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
> > Oui je comprends mais je cherche à généraliser pour un plage
> > qui ne débute pas forcément à la première colonne tout en
> > ayant le résultat dans une plage quelconque sans avoir
> > à modifier manuellement certaines constantes de la formule.
> > A+
> > Serge
> > <gmlst...@gmail.com> a écrit dans le message de news: b523f48a-03be -4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
> > > > Tentative de généralisation..
> > tu peux l'entrer en matricielle de X1 à...
> > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR( SI
> > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > @+
> > --
> > lSteph
> > On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
> > > Salut,
> > > ;-) regarde un peu plus haut.
> > > Où ça ?
> > > Et que dois-je y voir ?
> > > Serge
> > > <gmlst...@gmail.com> a écrit dans le message de news: db57df41-e2 d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
> > > Salut Serge,
> > > ;-) regarde un peu plus haut.
> > > On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
> > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:
> Il me semble qu'il faut modifier quelque chose dans ta formule si
> la première colonne de plg est différente de 1. Non ?
> Serge
> a écrit dans le message de news: 4f198daa-20dc-4
> ..ou encore pour plg (à définir en réf absolue)
> =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> (plg<>"";COLONNE(plg));COLONNE(A1))))
> en matricielle
> --
> lSteph
> On 19 mar, 17:09, "garnote" wrote:
> > Oui je comprends mais je cherche à généraliser pour un plage
> > qui ne débute pas forcément à la première colonne tout en
> > ayant le résultat dans une plage quelconque sans avoir
> > à modifier manuellement certaines constantes de la formule.
> > A+
> > Serge
> > a écrit dans le message de news: b523f48a-03be
> > > > Tentative de généralisation..
> > tu peux l'entrer en matricielle de X1 à...
> > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR( SI
> > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > @+
> > --
> > lSteph
> > On 19 mar, 16:28, "garnote" wrote:
> > > Salut,
> > > ;-) regarde un peu plus haut.
> > > Où ça ?
> > > Et que dois-je y voir ?
> > > Serge
> > > a écrit dans le message de news: db57df41-e2
> > > Salut Serge,
> > > ;-) regarde un peu plus haut.
> > > On 19 mar, 16:07, "garnote" wrote:
> > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:
> Il me semble qu'il faut modifier quelque chose dans ta formule si
> la première colonne de plg est différente de 1. Non ?
> Serge
> a écrit dans le message de news:
>
> ..ou encore pour plg (à définir en réf absolue)
> =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> (plg<>"";COLONNE(plg));COLONNE(A1))))
> en matricielle
> --
> lSteph
> On 19 mar, 17:09, "garnote" wrote:
> > Oui je comprends mais je cherche à généraliser pour un plage
> > qui ne débute pas forcément à la première colonne tout en
> > ayant le résultat dans une plage quelconque sans avoir
> > à modifier manuellement certaines constantes de la formule.
> > A+
> > Serge
> > a écrit dans le message de news:
> >
> > > > Tentative de généralisation..
> > tu peux l'entrer en matricielle de X1 à...
> > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > @+
> > --
> > lSteph
> > On 19 mar, 16:28, "garnote" wrote:
> > > Salut,
> > > ;-) regarde un peu plus haut.
> > > Où ça ?
> > > Et que dois-je y voir ?
> > > Serge
> > > a écrit dans le message de news:
> > >
> > > Salut Serge,
> > > ;-) regarde un peu plus haut.
> > > On 19 mar, 16:07, "garnote" wrote:
> > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" <garnote3R...@videotron.ca> wrote:
> Il me semble qu'il faut modifier quelque chose dans ta formule si
> la première colonne de plg est différente de 1. Non ?
> Serge
> <gmlst...@gmail.com> a écrit dans le message de news:
> 4f198daa-20dc-44e6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
> ..ou encore pour plg (à définir en réf absolue)
> =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> (plg<>"";COLONNE(plg));COLONNE(A1))))
> en matricielle
> --
> lSteph
> On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
> > Oui je comprends mais je cherche à généraliser pour un plage
> > qui ne débute pas forcément à la première colonne tout en
> > ayant le résultat dans une plage quelconque sans avoir
> > à modifier manuellement certaines constantes de la formule.
> > A+
> > Serge
> > <gmlst...@gmail.com> a écrit dans le message de news:
> > b523f48a-03be-4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
> > > > Tentative de généralisation..
> > tu peux l'entrer en matricielle de X1 à...
> > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > @+
> > --
> > lSteph
> > On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
> > > Salut,
> > > ;-) regarde un peu plus haut.
> > > Où ça ?
> > > Et que dois-je y voir ?
> > > Serge
> > > <gmlst...@gmail.com> a écrit dans le message de news:
> > > db57df41-e2d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
> > > Salut Serge,
> > > ;-) regarde un peu plus haut.
> > > On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
> > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:
> Il me semble qu'il faut modifier quelque chose dans ta formule si
> la première colonne de plg est différente de 1. Non ?
> Serge
> a écrit dans le message de news:
>
> ..ou encore pour plg (à définir en réf absolue)
> =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> (plg<>"";COLONNE(plg));COLONNE(A1))))
> en matricielle
> --
> lSteph
> On 19 mar, 17:09, "garnote" wrote:
> > Oui je comprends mais je cherche à généraliser pour un plage
> > qui ne débute pas forcément à la première colonne tout en
> > ayant le résultat dans une plage quelconque sans avoir
> > à modifier manuellement certaines constantes de la formule.
> > A+
> > Serge
> > a écrit dans le message de news:
> >
> > > > Tentative de généralisation..
> > tu peux l'entrer en matricielle de X1 à...
> > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > @+
> > --
> > lSteph
> > On 19 mar, 16:28, "garnote" wrote:
> > > Salut,
> > > ;-) regarde un peu plus haut.
> > > Où ça ?
> > > Et que dois-je y voir ?
> > > Serge
> > > a écrit dans le message de news:
> > >
> > > Salut Serge,
> > > ;-) regarde un peu plus haut.
> > > On 19 mar, 16:07, "garnote" wrote:
> > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COL ONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule c ellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner un e plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE ($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une pla ge horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(pl age;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONN E(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE da ns les deux formules précédentes.
Serge
a écrit dans le message de news: 3b2545f6-2fad-4c7f
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:
> Oui, je m'en rends bien compte....
> de même que l'exemple part d'une plage horizontale mais n'a pas l'air
> de fonctionner sur une plage verticale.
> @+
> --
> lSteph
> On 19 mar, 18:01, "garnote" wrote:
> > Il me semble qu'il faut modifier quelque chose dans ta formule si
> > la première colonne de plg est différente de 1. Non ?
> > Serge
> > a écrit dans le message de news:
> >
> > ..ou encore pour plg (à définir en réf absolue)
> > =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> > (plg<>"";COLONNE(plg));COLONNE(A1))))
> > en matricielle
> > --
> > lSteph
> > On 19 mar, 17:09, "garnote" wrote:
> > > Oui je comprends mais je cherche à généraliser pour un plage
> > > qui ne débute pas forcément à la première colonne tout en
> > > ayant le résultat dans une plage quelconque sans avoir
> > > à modifier manuellement certaines constantes de la formule.
> > > A+
> > > Serge
> > > a écrit dans le message de news:
> > > .
> > > > > Tentative de généralisation..
> > > tu peux l'entrer en matricielle de X1 à...
> > > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEU R(SI
> > > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > > @+
> > > --
> > > lSteph
> > > On 19 mar, 16:28, "garnote" wrote:
> > > > Salut,
> > > > ;-) regarde un peu plus haut.
> > > > Où ça ?
> > > > Et que dois-je y voir ?
> > > > Serge
> > > > a écrit dans le message de news:
> > > > ..
> > > > Salut Serge,
> > > > ;-) regarde un peu plus haut.
> > > > On 19 mar, 16:07, "garnote" wrote:
> > > > > Tentative de généralisation :- Masquer le texte des message s précédents -
> > > > - Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COL ONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule c ellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner un e plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE ($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une pla ge horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(pl age;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONN E(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE da ns les deux formules précédentes.
Serge
gmlst...@gmail.com> a écrit dans le message de news: 3b2545f6-2fad-4c7f -a82f-7e760039b...@d19g2000yqb.googlegroups.com...
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, gmlst...@gmail.com wrote:
> Oui, je m'en rends bien compte....
> de même que l'exemple part d'une plage horizontale mais n'a pas l'air
> de fonctionner sur une plage verticale.
> @+
> --
> lSteph
> On 19 mar, 18:01, "garnote" <garnote3R...@videotron.ca> wrote:
> > Il me semble qu'il faut modifier quelque chose dans ta formule si
> > la première colonne de plg est différente de 1. Non ?
> > Serge
> > <gmlst...@gmail.com> a écrit dans le message de news:
> > 4f198daa-20dc-44e6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
> > ..ou encore pour plg (à définir en réf absolue)
> > =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> > (plg<>"";COLONNE(plg));COLONNE(A1))))
> > en matricielle
> > --
> > lSteph
> > On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
> > > Oui je comprends mais je cherche à généraliser pour un plage
> > > qui ne débute pas forcément à la première colonne tout en
> > > ayant le résultat dans une plage quelconque sans avoir
> > > à modifier manuellement certaines constantes de la formule.
> > > A+
> > > Serge
> > > <gmlst...@gmail.com> a écrit dans le message de news:
> > > b523f48a-03be-4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com.. .
> > > > > Tentative de généralisation..
> > > tu peux l'entrer en matricielle de X1 à...
> > > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEU R(SI
> > > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > > @+
> > > --
> > > lSteph
> > > On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
> > > > Salut,
> > > > ;-) regarde un peu plus haut.
> > > > Où ça ?
> > > > Et que dois-je y voir ?
> > > > Serge
> > > > <gmlst...@gmail.com> a écrit dans le message de news:
> > > > db57df41-e2d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com. ..
> > > > Salut Serge,
> > > > ;-) regarde un peu plus haut.
> > > > On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
> > > > > Tentative de généralisation :- Masquer le texte des message s précédents -
> > > > - Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COL ONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule c ellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner un e plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE ($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une pla ge horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(pl age;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONN E(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE da ns les deux formules précédentes.
Serge
a écrit dans le message de news: 3b2545f6-2fad-4c7f
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:
> Oui, je m'en rends bien compte....
> de même que l'exemple part d'une plage horizontale mais n'a pas l'air
> de fonctionner sur une plage verticale.
> @+
> --
> lSteph
> On 19 mar, 18:01, "garnote" wrote:
> > Il me semble qu'il faut modifier quelque chose dans ta formule si
> > la première colonne de plg est différente de 1. Non ?
> > Serge
> > a écrit dans le message de news:
> >
> > ..ou encore pour plg (à définir en réf absolue)
> > =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> > (plg<>"";COLONNE(plg));COLONNE(A1))))
> > en matricielle
> > --
> > lSteph
> > On 19 mar, 17:09, "garnote" wrote:
> > > Oui je comprends mais je cherche à généraliser pour un plage
> > > qui ne débute pas forcément à la première colonne tout en
> > > ayant le résultat dans une plage quelconque sans avoir
> > > à modifier manuellement certaines constantes de la formule.
> > > A+
> > > Serge
> > > a écrit dans le message de news:
> > > .
> > > > > Tentative de généralisation..
> > > tu peux l'entrer en matricielle de X1 à...
> > > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEU R(SI
> > > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > > @+
> > > --
> > > lSteph
> > > On 19 mar, 16:28, "garnote" wrote:
> > > > Salut,
> > > > ;-) regarde un peu plus haut.
> > > > Où ça ?
> > > > Et que dois-je y voir ?
> > > > Serge
> > > > a écrit dans le message de news:
> > > > ..
> > > > Salut Serge,
> > > > ;-) regarde un peu plus haut.
> > > > On 19 mar, 16:07, "garnote" wrote:
> > > > > Tentative de généralisation :- Masquer le texte des message s précédents -
> > > > - Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE dans les deux formules précédentes.
Serge
a écrit dans le message de news:
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:
> Oui, je m'en rends bien compte....
> de même que l'exemple part d'une plage horizontale mais n'a pas l'air
> de fonctionner sur une plage verticale.
> @+
> --
> lSteph
> On 19 mar, 18:01, "garnote" wrote:
> > Il me semble qu'il faut modifier quelque chose dans ta formule si
> > la première colonne de plg est différente de 1. Non ?
> > Serge
> > a écrit dans le message de news:
> >
> > ..ou encore pour plg (à définir en réf absolue)
> > =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> > (plg<>"";COLONNE(plg));COLONNE(A1))))
> > en matricielle
> > --
> > lSteph
> > On 19 mar, 17:09, "garnote" wrote:
> > > Oui je comprends mais je cherche à généraliser pour un plage
> > > qui ne débute pas forcément à la première colonne tout en
> > > ayant le résultat dans une plage quelconque sans avoir
> > > à modifier manuellement certaines constantes de la formule.
> > > A+
> > > Serge
> > > a écrit dans le message de news:
> > >
> > > > > Tentative de généralisation..
> > > tu peux l'entrer en matricielle de X1 à...
> > > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> > > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > > @+
> > > --
> > > lSteph
> > > On 19 mar, 16:28, "garnote" wrote:
> > > > Salut,
> > > > ;-) regarde un peu plus haut.
> > > > Où ça ?
> > > > Et que dois-je y voir ?
> > > > Serge
> > > > a écrit dans le message de news:
> > > >
> > > > Salut Serge,
> > > > ;-) regarde un peu plus haut.
> > > > On 19 mar, 16:07, "garnote" wrote:
> > > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE dans les deux formules précédentes.
Serge
gmlst...@gmail.com> a écrit dans le message de news: 3b2545f6-2fad-4c7f-a82f-7e760039b...@d19g2000yqb.googlegroups.com...
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, gmlst...@gmail.com wrote:
> Oui, je m'en rends bien compte....
> de même que l'exemple part d'une plage horizontale mais n'a pas l'air
> de fonctionner sur une plage verticale.
> @+
> --
> lSteph
> On 19 mar, 18:01, "garnote" <garnote3R...@videotron.ca> wrote:
> > Il me semble qu'il faut modifier quelque chose dans ta formule si
> > la première colonne de plg est différente de 1. Non ?
> > Serge
> > <gmlst...@gmail.com> a écrit dans le message de news:
> > 4f198daa-20dc-44e6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
> > ..ou encore pour plg (à définir en réf absolue)
> > =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> > (plg<>"";COLONNE(plg));COLONNE(A1))))
> > en matricielle
> > --
> > lSteph
> > On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
> > > Oui je comprends mais je cherche à généraliser pour un plage
> > > qui ne débute pas forcément à la première colonne tout en
> > > ayant le résultat dans une plage quelconque sans avoir
> > > à modifier manuellement certaines constantes de la formule.
> > > A+
> > > Serge
> > > <gmlst...@gmail.com> a écrit dans le message de news:
> > > b523f48a-03be-4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
> > > > > Tentative de généralisation..
> > > tu peux l'entrer en matricielle de X1 à...
> > > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> > > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > > @+
> > > --
> > > lSteph
> > > On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
> > > > Salut,
> > > > ;-) regarde un peu plus haut.
> > > > Où ça ?
> > > > Et que dois-je y voir ?
> > > > Serge
> > > > <gmlst...@gmail.com> a écrit dans le message de news:
> > > > db57df41-e2d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
> > > > Salut Serge,
> > > > ;-) regarde un peu plus haut.
> > > > On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
> > > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE dans les deux formules précédentes.
Serge
a écrit dans le message de news:
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:
> Oui, je m'en rends bien compte....
> de même que l'exemple part d'une plage horizontale mais n'a pas l'air
> de fonctionner sur une plage verticale.
> @+
> --
> lSteph
> On 19 mar, 18:01, "garnote" wrote:
> > Il me semble qu'il faut modifier quelque chose dans ta formule si
> > la première colonne de plg est différente de 1. Non ?
> > Serge
> > a écrit dans le message de news:
> >
> > ..ou encore pour plg (à définir en réf absolue)
> > =SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
> > (plg<>"";COLONNE(plg));COLONNE(A1))))
> > en matricielle
> > --
> > lSteph
> > On 19 mar, 17:09, "garnote" wrote:
> > > Oui je comprends mais je cherche à généraliser pour un plage
> > > qui ne débute pas forcément à la première colonne tout en
> > > ayant le résultat dans une plage quelconque sans avoir
> > > à modifier manuellement certaines constantes de la formule.
> > > A+
> > > Serge
> > > a écrit dans le message de news:
> > >
> > > > > Tentative de généralisation..
> > > tu peux l'entrer en matricielle de X1 à...
> > > =SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
> > > ($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
> > > @+
> > > --
> > > lSteph
> > > On 19 mar, 16:28, "garnote" wrote:
> > > > Salut,
> > > > ;-) regarde un peu plus haut.
> > > > Où ça ?
> > > > Et que dois-je y voir ?
> > > > Serge
> > > > a écrit dans le message de news:
> > > >
> > > > Salut Serge,
> > > > ;-) regarde un peu plus haut.
> > > > On 19 mar, 16:07, "garnote" wrote:
> > > > > Tentative de généralisation :- Masquer le texte des messages précédents -
> > > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Stéphane,
Il ya avait encore des problèmes avec mes formules, mais là je crois détenir la vérité ;-)
1) Plage horizontale n'importe où et résultat dans une autre plage horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite
2) Plage horizontale n'importe où et résultat dans une autre plage verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
3) Plage verticale n'importe où et résultat dans une autre plage verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
4) Plage verticale n'importe où et résultat dans une autre plage horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite.
Quant à trouver UNE formule qui tiendrait compte de ces quatre cas, je n'ose même pas y songer !
Moi pas envie de virer complètement fou ;-)
Si tu confirmes la validité de mes formules, j'ouvre ma bouteille de « Balvenie DoubleWood 12 ans »
et je déguste à ta santé ;-)
Serge
a écrit dans le message de news:
Salut Serge,
oui c'est bien cela en matricielle dans la matrice, c'est tout ce que
j'ai trouvé pour l'instant, mais je suis déjà content de cette piste
pour pouvoir généraliser.
Ce faisant c'est intéressant dans la perspective de boucler
"fonctionellement" un ensemble de cellule sans faire appel à VBA et
dans le contexte obtenir une liste sans vides ne serait pas forcément
la seule possibilité.
Je note au passage tes autres suggestions.
@+
--
lSteph
On 20 mar, 17:51, "garnote" wrote:Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE dans les deux formules précédentes.
Serge
a écrit dans le message de news:
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
a écrit dans le message de news:
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" wrote:Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
a écrit dans le message de news:Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" wrote:Salut,
;-) regarde un peu plus haut.
Où ça ?
Et que dois-je y voir ?
Serge
a écrit dans le message de news:
Salut Serge,
;-) regarde un peu plus haut.
On 19 mar, 16:07, "garnote" wrote:Tentative de généralisation :- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Stéphane,
Il ya avait encore des problèmes avec mes formules, mais là je crois détenir la vérité ;-)
1) Plage horizontale n'importe où et résultat dans une autre plage horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite
2) Plage horizontale n'importe où et résultat dans une autre plage verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
3) Plage verticale n'importe où et résultat dans une autre plage verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
4) Plage verticale n'importe où et résultat dans une autre plage horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite.
Quant à trouver UNE formule qui tiendrait compte de ces quatre cas, je n'ose même pas y songer !
Moi pas envie de virer complètement fou ;-)
Si tu confirmes la validité de mes formules, j'ouvre ma bouteille de « Balvenie DoubleWood 12 ans »
et je déguste à ta santé ;-)
Serge
<gmlsteph@gmail.com> a écrit dans le message de news: 0dd2b5aa-eea2-45dd-8fee-87b1601ac4ac@g38g2000yqd.googlegroups.com...
Salut Serge,
oui c'est bien cela en matricielle dans la matrice, c'est tout ce que
j'ai trouvé pour l'instant, mais je suis déjà content de cette piste
pour pouvoir généraliser.
Ce faisant c'est intéressant dans la perspective de boucler
"fonctionellement" un ensemble de cellule sans faire appel à VBA et
dans le contexte obtenir une liste sans vides ne serait pas forcément
la seule possibilité.
Je note au passage tes autres suggestions.
@+
--
lSteph
On 20 mar, 17:51, "garnote" <garnote3R...@videotron.ca> wrote:
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE dans les deux formules précédentes.
Serge
gmlst...@gmail.com> a écrit dans le message de news: 3b2545f6-2fad-4c7f-a82f-7e760039b...@d19g2000yqb.googlegroups.com...
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, gmlst...@gmail.com wrote:
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" <garnote3R...@videotron.ca> wrote:
Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
<gmlst...@gmail.com> a écrit dans le message de news:
4f198daa-20dc-44e6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
<gmlst...@gmail.com> a écrit dans le message de news:
b523f48a-03be-4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
Salut,
;-) regarde un peu plus haut.
Où ça ?
Et que dois-je y voir ?
Serge
<gmlst...@gmail.com> a écrit dans le message de news:
db57df41-e2d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
Salut Serge,
;-) regarde un peu plus haut.
On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
Tentative de généralisation :- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Stéphane,
Il ya avait encore des problèmes avec mes formules, mais là je crois détenir la vérité ;-)
1) Plage horizontale n'importe où et résultat dans une autre plage horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite
2) Plage horizontale n'importe où et résultat dans une autre plage verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
3) Plage verticale n'importe où et résultat dans une autre plage verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
4) Plage verticale n'importe où et résultat dans une autre plage horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite.
Quant à trouver UNE formule qui tiendrait compte de ces quatre cas, je n'ose même pas y songer !
Moi pas envie de virer complètement fou ;-)
Si tu confirmes la validité de mes formules, j'ouvre ma bouteille de « Balvenie DoubleWood 12 ans »
et je déguste à ta santé ;-)
Serge
a écrit dans le message de news:
Salut Serge,
oui c'est bien cela en matricielle dans la matrice, c'est tout ce que
j'ai trouvé pour l'instant, mais je suis déjà content de cette piste
pour pouvoir généraliser.
Ce faisant c'est intéressant dans la perspective de boucler
"fonctionellement" un ensemble de cellule sans faire appel à VBA et
dans le contexte obtenir une liste sans vides ne serait pas forcément
la seule possibilité.
Je note au passage tes autres suggestions.
@+
--
lSteph
On 20 mar, 17:51, "garnote" wrote:Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par LIGNE dans les deux formules précédentes.
Serge
a écrit dans le message de news:
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
a écrit dans le message de news:
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" wrote:Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
a écrit dans le message de news:Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" wrote:Salut,
;-) regarde un peu plus haut.
Où ça ?
Et que dois-je y voir ?
Serge
a écrit dans le message de news:
Salut Serge,
;-) regarde un peu plus haut.
On 19 mar, 16:07, "garnote" wrote:Tentative de généralisation :- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
(ici déjà tard mon neurone va au lit)
je regarderai demain, mais si tu déguste avec ;-) mode et ration
il en restera...
@+
--
lSteph
garnote a écrit :Salut Stéphane,
Il ya avait encore des problèmes avec mes formules, mais là je crois
détenir la vérité ;-)
1) Plage horizontale n'importe où et résultat dans une autre plage
horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite
2) Plage horizontale n'importe où et résultat dans une autre plage
verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
3) Plage verticale n'importe où et résultat dans une autre plage
verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
4) Plage verticale n'importe où et résultat dans une autre plage
horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite.
Quant à trouver UNE formule qui tiendrait compte de ces quatre cas, je
n'ose même pas y songer !
Moi pas envie de virer complètement fou ;-)
Si tu confirmes la validité de mes formules, j'ouvre ma bouteille de «
Balvenie DoubleWood 12 ans »
et je déguste à ta santé ;-)
Serge
a écrit dans le message de news:
Salut Serge,
oui c'est bien cela en matricielle dans la matrice, c'est tout ce que
j'ai trouvé pour l'instant, mais je suis déjà content de cette piste
pour pouvoir généraliser.
Ce faisant c'est intéressant dans la perspective de boucler
"fonctionellement" un ensemble de cellule sans faire appel à VBA et
dans le contexte obtenir une liste sans vides ne serait pas forcément
la seule possibilité.
Je note au passage tes autres suggestions.
@+
--
lSteph
On 20 mar, 17:51, "garnote" wrote:Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule
cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une
plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille
COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une
plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez
cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par
LIGNE dans les deux formules précédentes.
Serge
a écrit dans le message de news:
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
a écrit dans le message de news:
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" wrote:Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
a écrit dans le message de news:Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" wrote:Salut,
;-) regarde un peu plus haut.
Où ça ?
Et que dois-je y voir ?
Serge
a écrit dans le message de news:
Salut Serge,
;-) regarde un peu plus haut.
On 19 mar, 16:07, "garnote" wrote:Tentative de généralisation :- Masquer le texte des messages
précédents -
- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
(ici déjà tard mon neurone va au lit)
je regarderai demain, mais si tu déguste avec ;-) mode et ration
il en restera...
@+
--
lSteph
garnote a écrit :
Salut Stéphane,
Il ya avait encore des problèmes avec mes formules, mais là je crois
détenir la vérité ;-)
1) Plage horizontale n'importe où et résultat dans une autre plage
horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite
2) Plage horizontale n'importe où et résultat dans une autre plage
verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
3) Plage verticale n'importe où et résultat dans une autre plage
verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
4) Plage verticale n'importe où et résultat dans une autre plage
horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite.
Quant à trouver UNE formule qui tiendrait compte de ces quatre cas, je
n'ose même pas y songer !
Moi pas envie de virer complètement fou ;-)
Si tu confirmes la validité de mes formules, j'ouvre ma bouteille de «
Balvenie DoubleWood 12 ans »
et je déguste à ta santé ;-)
Serge
<gmlsteph@gmail.com> a écrit dans le message de news:
0dd2b5aa-eea2-45dd-8fee-87b1601ac4ac@g38g2000yqd.googlegroups.com...
Salut Serge,
oui c'est bien cela en matricielle dans la matrice, c'est tout ce que
j'ai trouvé pour l'instant, mais je suis déjà content de cette piste
pour pouvoir généraliser.
Ce faisant c'est intéressant dans la perspective de boucler
"fonctionellement" un ensemble de cellule sans faire appel à VBA et
dans le contexte obtenir une liste sans vides ne serait pas forcément
la seule possibilité.
Je note au passage tes autres suggestions.
@+
--
lSteph
On 20 mar, 17:51, "garnote" <garnote3R...@videotron.ca> wrote:
Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule
cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une
plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille
COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une
plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez
cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par
LIGNE dans les deux formules précédentes.
Serge
gmlst...@gmail.com> a écrit dans le message de news:
3b2545f6-2fad-4c7f-a82f-7e760039b...@d19g2000yqb.googlegroups.com...
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, gmlst...@gmail.com wrote:
Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" <garnote3R...@videotron.ca> wrote:
Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
<gmlst...@gmail.com> a écrit dans le message de news:
4f198daa-20dc-44e6-a29d-a06ee3643...@p20g2000yqi.googlegroups.com...
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" <garnote3R...@videotron.ca> wrote:
Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
<gmlst...@gmail.com> a écrit dans le message de news:
b523f48a-03be-4374-9031-669ec2b02...@s20g2000yqh.googlegroups.com...
Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" <garnote3R...@videotron.ca> wrote:
Salut,
;-) regarde un peu plus haut.
Où ça ?
Et que dois-je y voir ?
Serge
<gmlst...@gmail.com> a écrit dans le message de news:
db57df41-e2d9-4830-9c05-fc0bf6302...@13g2000yql.googlegroups.com...
Salut Serge,
;-) regarde un peu plus haut.
On 19 mar, 16:07, "garnote" <garnote3R...@videotron.ca> wrote:
Tentative de généralisation :- Masquer le texte des messages
précédents -
- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
(ici déjà tard mon neurone va au lit)
je regarderai demain, mais si tu déguste avec ;-) mode et ration
il en restera...
@+
--
lSteph
garnote a écrit :Salut Stéphane,
Il ya avait encore des problèmes avec mes formules, mais là je crois
détenir la vérité ;-)
1) Plage horizontale n'importe où et résultat dans une autre plage
horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite
2) Plage horizontale n'importe où et résultat dans une autre plage
verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
3) Plage verticale n'importe où et résultat dans une autre plage
verticale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);LIGNE(A1)))
Validation matricielle et tirer vers le bas.
4) Plage verticale n'importe où et résultat dans une autre plage
horizontale :
Coller cette formule dans une cellule libre :
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";LIGNE(plage)-LIGNE(INDEX(plage;1))+1;9^9);COLONNE(A1)))
Validation matricielle et tirer vers la droite.
Quant à trouver UNE formule qui tiendrait compte de ces quatre cas, je
n'ose même pas y songer !
Moi pas envie de virer complètement fou ;-)
Si tu confirmes la validité de mes formules, j'ouvre ma bouteille de «
Balvenie DoubleWood 12 ans »
et je déguste à ta santé ;-)
Serge
a écrit dans le message de news:
Salut Serge,
oui c'est bien cela en matricielle dans la matrice, c'est tout ce que
j'ai trouvé pour l'instant, mais je suis déjà content de cette piste
pour pouvoir généraliser.
Ce faisant c'est intéressant dans la perspective de boucler
"fonctionellement" un ensemble de cellule sans faire appel à VBA et
dans le contexte obtenir une liste sans vides ne serait pas forcément
la seule possibilité.
Je note au passage tes autres suggestions.
@+
--
lSteph
On 20 mar, 17:51, "garnote" wrote:Ave,
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
Oui ça me semble correct mais on ne peut pas la coller dans une seule
cellule et la recopier vers la droite.
Il faut, comme dans ma tentative de généralisation, sélectionner une
plage horizontale avant de la valider.
Dans mes formules, j'ai remplacé COLONNE(1:n) par ta trouvaille
COLONNE($1:$1).
Je me retrouve avec ceci :
Pour obtenir sur une ligne les n premières cellules non vides d'une
plage horizontale quelconque de cellules contiguës,
sélectionnez une plage horizontale de n cellules contiguës et collez
cette formule dans la barre de formules.
=INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1)))
(Ctrl+Maj+Entrée)
Si on veut le résultat sur une colonne :
=TRANSPOSE(INDEX(plage;PETITE.VALEUR(SI(plage<>"";COLONNE(plage)-COLONNE(INDEX(plage;1))+1;9^9);COLONNE($1:$1))))
(Ctrl+Maj+Entrée)
Si la plage d'origine est sur une colonne, remplacez COLONNE par
LIGNE dans les deux formules précédentes.
Serge
a écrit dans le message de news:
Bonjour,
toujours en matricielle:
=SI(NBVAL(plg)<COLONNE($1:$1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg)-(CELLULE("col";plg)-1);"");COLONNE($1:$1))))
--
'lSteph
On 19 mar, 18:31, wrote:Oui, je m'en rends bien compte....
de même que l'exemple part d'une plage horizontale mais n'a pas l'air
de fonctionner sur une plage verticale.
@+
--
lSteph
On 19 mar, 18:01, "garnote" wrote:Il me semble qu'il faut modifier quelque chose dans ta formule si
la première colonne de plg est différente de 1. Non ?
Serge
a écrit dans le message de news:
..ou encore pour plg (à définir en réf absolue)
=SI(NBVAL(plg)<COLONNE(A1);"";INDEX(plg;PETITE.VALEUR(SI
(plg<>"";COLONNE(plg));COLONNE(A1))))
en matricielle
--
lSteph
On 19 mar, 17:09, "garnote" wrote:Oui je comprends mais je cherche à généraliser pour un plage
qui ne débute pas forcément à la première colonne tout en
ayant le résultat dans une plage quelconque sans avoir
à modifier manuellement certaines constantes de la formule.
A+
Serge
a écrit dans le message de news:Tentative de généralisation..
tu peux l'entrer en matricielle de X1 à...
=SI(NBVAL($A$1:$J$1)<COLONNE()-23;"";INDEX($A$1:$J$1;PETITE.VALEUR(SI
($A$1:$J$1<>"";COLONNE($A$1:$J$1));COLONNE()-23)))
@+
--
lSteph
On 19 mar, 16:28, "garnote" wrote:Salut,
;-) regarde un peu plus haut.
Où ça ?
Et que dois-je y voir ?
Serge
a écrit dans le message de news:
Salut Serge,
;-) regarde un peu plus haut.
On 19 mar, 16:07, "garnote" wrote:Tentative de généralisation :- Masquer le texte des messages
précédents -
- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -