Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2912 connectés 

 

 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  107  108  109  ..  111  112  113  114  115  116
Auteur Sujet :

[Topic Unique] Excel : Keep calm and Pivot Table !

n°3444148
LaRoueEstT​ombee
Hortense ! Pour moi !
Posté le 08-12-2023 à 12:25:31  profilanswer
 

Reprise du message précédent :
:hello: Si quelqu'un a un truc simple et rapide pour afficher dans une cellule le nombre de cellules affichées quand on utilise le filtre automatique :jap:
 
Je découvre que la mise sous forme de tableau est super pratique, je pensais que c'était juste esthétique [:tinostar]  
 
Un pauv'

=NB.VIDE(NomTableau[NomColonne])

[:stephan_lapaix]  
 
Tsss, le gars qui ne sait pas c'qu'il veut [:ooinverse]  

=SOUS.TOTAL(103;NomTableau[NomDuneColonne])


C'est plus ce que je cherchais :D Ça m'affiche bien ce que je veux, le nombre de lignes affichées...
 
Bon, je me fais chier avec Excel alors qu'un ETL sera plus approprié mais bon, ça dépanne :o


Message édité par LaRoueEstTombee le 08-12-2023 à 19:17:19

---------------
Votre couroux impitoiable Veut-il renverser l'Univers ?
mood
Publicité
Posté le 08-12-2023 à 12:25:31  profilanswer
 

n°3444153
arnuche
Posté le 08-12-2023 à 14:21:40  profilanswer
 

Salut,
 
j'ai une cellule dans laquelle je fais une somme d'autres cellules provenant de diverses feuilles d'un classeur, du genre ;

Code :
  1. ='art1'!G7+'geo'!B2+'score 2'!H3


 
Comment faire un tableau (qui lui-même servira à faire un graphique) se mettant à jour tout seul quand je rajoute ou enlève des références dans cette cellule ?
L'idée est de faire une formule incrémentable qui s'adapte au nombre de références.
 
Je pensais utiliser une formule à base d'INDIRECT et de STXT mais ce qui est compliqué c'est que le nombre de références peut varier (j'en ai mis 3 mais c'est parfois plus) ainsi que le nombre de caractères dans le nom des feuilles.
Y a-t-il moyen d'utiliser le + comme séparateur ?
 
edit : je me suis rendu compte qu'il fallait commencer par afficher la formule en texte, ce code VBA permet de le faire ;
https://fr.extendoffice.com/documen [...] tring.html

Code :
  1. Function ShowF(Rng As Range)
  2. ShowF = Rng.Formula
  3. End Function


Mais ça traduit les fonctions en anglais !? Heureusement dans ma somme il n'y a pas de fonctions mais j'ai testé sur une autre et DROITE devient RIGHT et STXT devient MID.


Message édité par arnuche le 08-12-2023 à 17:20:30
n°3444191
arnuche
Posté le 08-12-2023 à 19:47:48  profilanswer
 

En chipotant j'ai fini par trouver une méthode.
Je mets ceci dans une cellule (J2) ;

Code :
  1. =SUBSTITUE(ShowF(art1!C2);"=";"+" )&"+"


Ce qui permet d'avoir la formule avec les sommes et de la commencer et terminer par des "+", tous 2 utiles pour l'incrémentation de ce qui suit.
 
Dans la 1ère ligne d'un tableau, je mets ceci ;

Code :
  1. =SIERREUR(INDIRECT(STXT($J$2;TROUVE("#";SUBSTITUE($J$2;"+";"#";LIGNE(1:1)))+1;TROUVE("#";SUBSTITUE($J$2;"+";"#";LIGNE(2:2)))-TROUVE("#";SUBSTITUE($J$2;"+";"#";LIGNE(1:1)))-1));"" )


Ça me trouve la position des 2 premiers "+" et isole ce qu'il y a entre les 2 (en l'occurrence une référence à une cellule).
C'est incrémentable donc la ligne suivante isole ce qu'il y a entre les 2ème et 3ème "+" puis les 3ème et 4ème et ainsi de suite.
Le SIERREUR permet d'avoir des lignes vides en bas (s'il y a moins de références que de lignes dans le tableau), et je n'ai plus qu'à faire un TCD (basé sur ce tableau) en filtrant les lignes vides puis baser le graphique sur ce TCD. :sol:


Message édité par arnuche le 08-12-2023 à 19:55:13
n°3444546
arnuche
Posté le 13-12-2023 à 14:05:14  profilanswer
 

Salut,
je galère avec un problème : je voudrais mettre en évidence (en mettant un mot à côté) la première cellule d'une colonne dont le montant est supérieur à la cellule d'à côté.
Avec cette formule, ça renvoie 0 ou 1 ;

Code :
  1. =SI(Tableau1[B2]>Tableau1[B1];1;0))


Alors je me disais qu'avec une matricielle je pourrais compter le nombre de 0 et de 1 et aller chercher la position du premier 1 avec la fonction TROUVE, sauf que j'aimerais me passer de colonne intermédiaire et que je ne vois pas comment compter les 0 et 1 dans une matrice, ou en tout cas les disposer de manière à ce que TROUVE puisse chercher dans une matrice au lieu d'une plage.
Ça me renverrait le n° de ligne sur laquelle mettre le message que je veux afficher.
 
 :jap:
 
edit : j'ai essayé ceci en matriciel mais ça ne va pas, il me renvoie #VALEUR! :??:  

Code :
  1. =TROUVE("y";SUBSTITUE(SI(Tableau1[B2]>Tableau1[B1];1);"1";"y";1))


 
edit 2 : avec EQUIV ça marche  :)  

Code :
  1. =EQUIV("y";SUBSTITUE(SI($L$3:$L$34>$K$3:$K$34;1);"1";"y";1);0)


Renvoie bien la position du premier 1 de la matrice.


Message édité par arnuche le 15-12-2023 à 11:39:16
n°3444634
DjiDji5943​0
Posté le 14-12-2023 à 11:39:51  profilanswer
 

tout simplement  
=EQUIV(VRAI;Tableau1[B2]>Tableau1[B1];0) en matricielle
 
Crdlmt

n°3444688
arnuche
Posté le 15-12-2023 à 10:45:09  profilanswer
 

Ah oui, trop fort  :jap:

n°3444690
arnuche
Posté le 15-12-2023 à 10:50:56  profilanswer
 

Mais ta formule compte le nombre de "vrai" ou renvoie la position du premier "vrai" dans la matrice ?
Il se fait que pour l'instant c'est pareil dans mon tableau parce que tous les "faux" suivent les "vrai" mais s'ils sont intercalés, il me semble qu'il faudrait utiliser ma formule un peu plus tordue avec EQUIV("y";SUBSTITUE...
 
edit : ta formule renvoie bien la position du premier "vrai" (n° 27 chez moi) parce que je n'en ai que 6 (et 26 FAUX sur 32 lignes), je suis étonné qu'un simple VRAI au début suffise puisqu'il y en a plusieurs dans la matrice. :??:  
J'imagine que ça ne marche que pour le premier mais si je voulais le 3ème, je devrais ruser avec EQUIV("y";SUBSTITUE...;"1";"y";3)...
 
Cette simple matricielle permet d'ailleurs de compter les "vrai" ;

Code :
  1. =SOMMEPROD(--(Tableau1[2]>Tableau1[B1]))


Message édité par arnuche le 15-12-2023 à 11:40:39
n°3444716
DjiDji5943​0
Posté le 15-12-2023 à 17:52:15  profilanswer
 

equiv ou recherchev d'ailleurs, renvoie toujours la premiere occurence trouvée.
 
Et effectivement, ta formule pour un rang quelconque fonctionne parfaitement
 et avec VRAI ta formule devient :
=EQUIV("y";SUBSTITUE($L$3:$L$34>$K$3:$K$34;VRAI;"y";1);0)
 
Crdlmt
Une opération (=,  > ou< ) sur des matrices renvoie toujours une matrice avecfr vrai ou des faux (d'ou le -- de ton sommeprod()
 

n°3444721
arnuche
Posté le 15-12-2023 à 18:18:09  profilanswer
 

DjiDji59430 a écrit :

equiv ou recherchev d'ailleurs, renvoie toujours la premiere occurence trouvée.


Ok je note.
 

DjiDji59430 a écrit :

et avec VRAI ta formule devient :
=EQUIV("y";SUBSTITUE($L$3:$L$34>$K$3:$K$34;VRAI;"y";1);0)


Ah d'accord, pas besoin de SI en fait.
Sauf qu'il y a un souci : je viens de voir que quand je mets un autre chiffre que 1 (donc 2 pour remplacer le 2ème "y" ), ça renvoie #N/A (que ce soit avec ta formule ou la mienne)  :??:  
Et pareil si je mets FAUX au lieu de VRAI. Il y en a pourtant 6 qui sont supérieurs (donc vrais). :o  
 

DjiDji59430 a écrit :

Une opération (=,  > ou< ) sur des matrices renvoie toujours une matrice avecfr vrai ou des faux (d'ou le -- de ton sommeprod()


Oui ça je savais, j'avais mis 1 au lieu de vrai pour raccourcir la formule.


Message édité par arnuche le 15-12-2023 à 18:26:41
n°3444726
arnuche
Posté le 15-12-2023 à 18:52:44  profilanswer
 

Je viens de tester sur une plage plus courte (=EQUIV("y";SUBSTITUE($L$28:$L$30>$K$28:$L$30;"VRAI";"y";1);0), donc 3 lignes en tout), et le résultat est étrange : quand je clique sur fx à gauche (insérer une fonction) pour voir ce qu'inclut la matrice, il montre ;

Code :
  1. "FAUX","FAUX";"y","FAUX";"y","FAUX"


Noter qu'il y a un point-virgule devant chaque "y" mais pas devant les "FAUX". :heink:
 
Le résultat devrait être "FAUX","y","VRAI", puisque le 1er est inférieur donc faux et les 2 suivants sont vrais et le 1er des 2 vrais est remplacé par un "y".
 
 
 
edit : encore plus étrange, je passe par une colonne intermédiaire qui renvoie VRAI ou FAUX pour chaque ligne et je me réfère à 3 lignes de cette colonne ;

Code :
  1. =EQUIV("y";SUBSTITUE(R28:R30;"VRAI";"y";2);0)


Il renvoie #N/A et quand je clique sur fx, la matrice est "FAUX";"VRAI";"VRAI" au lieu de "FAUX";"VRAI";"y"  :heink:  
 
Et si je tape 1 à la place de 2 ;

Code :
  1. =EQUIV("y";SUBSTITUE(R28:R30;"VRAI";"y";1);0)


Il renvoie 2 et plus #N/A et la matrice est "FAUX";"y";"y" au lieu de "FAUX";"y";"VRAI"  :heink:


Message édité par arnuche le 15-12-2023 à 19:22:37
mood
Publicité
Posté le 15-12-2023 à 18:52:44  profilanswer
 

n°3444752
DjiDji5943​0
Posté le 15-12-2023 à 23:11:52  profilanswer
 

Ta premiere formule me renvoie FAUX,"y",VRAI, alors que chez toi, tu as une matrice 2 colonnes  3 lignes ?
Substitue travaille sur du texte
 Vrai n'est pas considére comme du texte. C'est la premiere fois qu'on aurait du avoir n/a
pour bien, il faut revenir a cette formule
=PETITE.VALEUR(SI($L$28:$L$30>$K$28:$L$30;LIGNE($L$28:$L$30));2) qui te donne la ligne de ton deuxieme VRAI
conclusion : le substitue() me semble etre une fausse bonne idée !
 
Crdlmt

Message cité 1 fois
Message édité par DjiDji59430 le 15-12-2023 à 23:12:38
n°3444754
arnuche
Posté le 15-12-2023 à 23:42:25  profilanswer
 

DjiDji59430 a écrit :

pour bien, il faut revenir a cette formule
=PETITE.VALEUR(SI($L$28:$L$30>$K$28:$L$30;LIGNE($L$28:$L$30));2) qui te donne la ligne de ton deuxieme VRAI


Excellent, marche nickel !  :)  
 

DjiDji59430 a écrit :

Ta premiere formule me renvoie FAUX,"y",VRAI, alors que chez toi, tu as une matrice 2 colonnes  3 lignes ?


Une seule colonne.
 

DjiDji59430 a écrit :

Substitue travaille sur du texte
 Vrai n'est pas considére comme du texte. C'est la premiere fois qu'on aurait du avoir n/a
(...)
conclusion : le substitue() me semble etre une fausse bonne idée !


En effet, j'ai continué mes recherches et il semblerait qu'il y ait cette limite à substitue(), ça ne marche pas dans une matricielle.
Sauf que tu m'avais dit plus haut que ça fonctionnait parfaitement  :??:  Pas pour ce cas-ci apparemment.

n°3444792
DjiDji5943​0
Posté le 16-12-2023 à 18:19:37  profilanswer
 


Citation :

Sauf que tu m'avais dit plus haut que ça fonctionnait parfaitement  :??:  Pas pour ce cas-ci apparemment.


 
Oui, generalisation hative de ma part...Ça "fonctionnait" pour le premier VRAI, je n'ai pas regarder pour le second
 
j'ai aussi continué sur substitue() et ça marche aussi avec des chiffres  
=SUBSTITUE(123;1;"b" ) ==>b23,  
et c'est aussi vrai qu'un texte, ce n'est pas une matrice !
 
Crdlmt
 
 
 
 

n°3444871
arnuche
Posté le 17-12-2023 à 19:15:50  profilanswer
 

J'ai encore une idée bizarre : est-il possible en une formule de compter le nombre maximal de valeurs successives correspondant à un critère ?
Exemple : une colonne de chiffres dont certains sont plus grands que 0 et d'autres plus petits ; il faut compter combien de cellules d'affilée contiennent un chiffre supérieur à 0 et trouver le plus grand nombre parmi les résultats trouvés.
 
J'ai trouvé comment faire avec l'ajout de colonnes intermédiaires mais si je peux m'en passer ce serait mieux.
 
edit : trouvé ici, en mode matriciel  :)  ;
https://www.listendata.com/2022/05/ [...] mbers.html

Code :
  1. =MAX(FREQUENCY(IF(B2:B10<0,ROW(B2:B10)),IF(B2:B10>=0,ROW(B2:B10))))


Ce qui donne chez moi ;

Code :
  1. =MAX(FREQUENCE(SI(C4:C15>$I$3;LIGNE(C4:C15));SI(C4:C15<$I$3;LIGNE(C4:C15))))


Notez l'inversion du > en < entre la 1ère et la 2ème partie de la formule, astucieux.


Message édité par arnuche le 17-12-2023 à 20:49:07
n°3444926
arnuche
Posté le 18-12-2023 à 19:05:00  profilanswer
 

Je galère pour un truc que je croyais simple : comment trouver le nombre d’occurrences de la plus grande valeur d'une matrice ?
Je pensais à NB.Si mais c'est incompatible avec les matricielles.
C'est pour la formule que j'ai postée hier (MAX(FREQUENCE(SI...), je voudrais savoir combien de fois ce chiffre MAX apparaît dans la matrice.

n°3444927
Aardpeer
Transmuteur grognon de Bluxte
Posté le 18-12-2023 à 20:36:33  profilanswer
 

bah nb.si(taplagedematrice;max(taplagedematrice)) ca ne marche pas ?


Message édité par Aardpeer le 18-12-2023 à 20:36:42
n°3444933
arnuche
Posté le 18-12-2023 à 21:31:26  profilanswer
 

Ben non, c'est aussi la formule à laquelle j'avais pensé mais les fonctions SI sont incompatibles avec les matricielles.

n°3444935
DjiDji5943​0
Posté le 18-12-2023 à 22:59:11  profilanswer
 

oui, mais pas sommeprod()
=SOMMEPROD(--(L6:L10=MAX(L6:L10))), ça fonctionne.
 
Crdlmt

n°3444936
arnuche
Posté le 19-12-2023 à 01:13:47  profilanswer
 

Ah, nickel, tu m'épateras toujours  :jap:  
Entre-temps j'avais pensé à SOMMEPROD sauf que j'avais mis * au lieu de = au milieu, pas bon !

n°3444938
Aardpeer
Transmuteur grognon de Bluxte
Posté le 19-12-2023 à 08:04:32  profilanswer
 

mais une matrice dans excel ce n'est qu'une plage de cellule, ou alors tu as une définition différente de matrice (sens mathématique ?)

n°3444944
arnuche
Posté le 19-12-2023 à 10:47:33  profilanswer
 

Voir la formule dont je parlais plus haut (avec la fonction FREQUENCE) qui est une matricielle donc pas possible d'utiliser NB.Si.
Et ce n'est pas une plage de cellules dans ce cas mais une liste de valeurs qui résulte du calcul fait par la formule matricielle, qui elle-même se base bien sûr sur une plage de cellules.
Cette liste est donc invisible et créée par la formule, il faut alors trouver une fonction capable d'aller y chercher les informations dont on a besoin, ce qui est le cas de SOMMEPROD, entre autres (il y a aussi MIN, MAX, PETITE.VALEUR, GRANDE.VALEUR, ...)  ;)


Message édité par arnuche le 19-12-2023 à 11:07:21
n°3445541
arnuche
Posté le 01-01-2024 à 20:36:01  profilanswer
 

Salut et bonne année les Excelleux ! :)  
 
J'essaye de trouver une formule qui pourrait copier une liste de noms en omettant les doublons et les lignes vides :  
j'ai trouvé une formule qui évite les lignes vides ;

Code :
  1. =SIERREUR(INDEX($A$2:$A$14;PETITE.VALEUR(SI($A$2:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES($A$2:$A$14))));LIGNE(1:1)));"" )


et une qui évite les doublons ;

Code :
  1. =SIERREUR(INDEX($A$2:$A$14;EQUIV(0;NB.SI($J$1:J1;$A$2:$A$14);0));"" )


 
Mais je ne vois pas comment mixer les deux  :pfff: , sauf en rajoutant une colonne mais c'est ce que je voudrais éviter.
C'est ce que fait la fonction UNIQUE des versions récentes mais j'en suis toujours à Excel 2016.


Message édité par arnuche le 01-01-2024 à 21:24:37
n°3445551
DjiDji5943​0
Posté le 01-01-2024 à 23:26:38  profilanswer
 

Bonjour à tous,
 
si tu remplaces le LIGNE(1:1) par ligne(indirect("$1:$"&nb.si($A$2:$A$14;">0" ) et que tu appelles ta premiere formule toto;l
a deuxiemme devient :
=SIERREUR(INDEX(toto;EQUIV(0;NB.SI($J$1:J1;toto);0));"" )
 
Crdlmt

n°3445563
arnuche
Posté le 02-01-2024 à 11:32:43  profilanswer
 

Merci !
Pour l'instant je n'arrive pas à la faire fonctionner malgré 2 petites corrections dans la 1ère formule ; rajout de 2 parenthèses fermantes et remplacement de ">0" par "><" (avec ">0" j'obtiens #REF!).
Si j'essaye ceci, j'obtiens le 1er nom de la liste, y compris quand j'incrémente ;

Code :
  1. =INDEX($A$2:$A$14;PETITE.VALEUR(SI($A$2:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES($A$2:$A$14))));LIGNE(indirect("$1:$"&nb.si($A$2:$A$14;"><" )))))


Quand je l'intègre à l'autre, j'obtiens #VALEUR! ;

Code :
  1. =INDEX(SIERREUR(INDEX($A$2:$A$14;PETITE.VALEUR(SI($A$2:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES($A$2:$A$14))));LIGNE(indirect("$1:$"&nb.si($A$2:$A$14;"><" )))));"" );EQUIV(0;NB.SI($J$1:J1;SIERREUR(INDEX($A$2:$A$14;PETITE.VALEUR(SI($A$2:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES($A$2:$A$14))));LIGNE(indirect("$1:$"&nb.si($A$2:$A$14;"><" )))));"" ));0))


Message édité par arnuche le 02-01-2024 à 11:35:13
n°3445595
DjiDji5943​0
Posté le 02-01-2024 à 18:06:31  profilanswer
 
n°3445596
arnuche
Posté le 02-01-2024 à 18:21:24  profilanswer
 

Merci mais tu es sûr que le fichier est complet ? Je vois des chiffres à gauche et "mimi" en C1 avec une formule en-dessous qui renvoie des cellules vides. :??:
Et en J1 je vois ça ;

Code :
  1. =SIERREUR(INDEX(_xlfn.ANCHORARRAY(E2);EQUIV(0;NB.SI(#REF!;toto);0));"" )


Message édité par arnuche le 02-01-2024 à 18:46:54
n°3445614
DjiDji5943​0
Posté le 02-01-2024 à 23:45:54  profilanswer
 

oui, le fichier est complet
https://www.cjoint.com/c/NAcwSLU4haY
j'ai developpé les formules

n°3445615
arnuche
Posté le 02-01-2024 à 23:58:30  profilanswer
 

C'est pareil que l'autre, peut-être parce qu'on n'a pas la même version d'Excel  :??:  
Sauf que j'ai vu les chiffres un instant dans la colonne C en ouvrant le fichier puis quand j'ai autorisé la modification, ils ont disparu  :heink:  
 
https://i.ibb.co/ZGrDTpG/Excel-toto-b.jpg
 
Je vois que ta formule toto est la suivante ;

Code :
  1. =INDEX(Feuil1!$A$1:$A$14;PETITE.VALEUR(SI(Feuil1!$A$1:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$A$1:$A$14))));LIGNE(Feuil1!$1:$9)))


Pourquoi 9 et pas 14 à la fin ?
9 est le nombre de valeurs en colonne A, je ne sais pas si c'est pour ça mais ce nombre peut changer.

n°3445617
arnuche
Posté le 03-01-2024 à 00:04:55  profilanswer
 

J'ai changé le nom du fichier et l'ai rouvert, voilà ce que je vois quand je n'autorise pas la modification ;
 
https://i.ibb.co/bB3BTTK/Excel-toto-b2.jpg
 
Donc ça ne marche qu'en mode protégé  :??:  
 
En tout cas ta formule fonctionne  :) , reste à voir comment l'utiliser chez moi.
Je devrai essayer de recréer un fichier et copier tes formules, peut-être qu'alors ça passera.


Message édité par arnuche le 03-01-2024 à 00:12:25
n°3445622
arnuche
Posté le 03-01-2024 à 11:09:05  profilanswer
 

J'ai essayé ta formule dans un autre fichier, j'ai enlevé le SIERREUR et j'obtiens #N/A  :??:

n°3445623
DjiDji5943​0
Posté le 03-01-2024 à 11:15:30  profilanswer
 

le LIGNE(Feuil1!$1:$9), c'est un oubli, a remplacer par  
LIGNE(indirect("$1:$"&nb.si($A$2:$A$14;"<>" ))) qui compte le nb de ligne sans ""
ps  
sur cdiscount, tu as des excel 2021<1e


Message édité par DjiDji59430 le 03-01-2024 à 14:12:57
n°3445630
arnuche
Posté le 03-01-2024 à 13:11:02  profilanswer
 

Pas moyen de la faire fonctionner, même en corrigeant comme ceci (ce que j'avais déjà testé) ; :pfff:  

Code :
  1. =INDEX($A$2:$A$14;PETITE.VALEUR(SI($A$2:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES($A$2:$A$14))));LIGNE(indirect("$1:$"&nb.si($A$2:$A$14;"><" )))))


Il y a donc bien deux fois LIGNE(INDIRECT dans ta formule toto ?
J'ai aussi essayé en remplaçant $A$2 par $A$1 (A1 étant vide) mais ça ne change rien  :??:  
 
Pourrais-tu poster ici (et pas dans un fichier) les formules qui marchent réellement chez toi ? Merci !


Message édité par arnuche le 03-01-2024 à 13:24:03
n°3445632
DjiDji5943​0
Posté le 03-01-2024 à 14:16:28  profilanswer
 

toto=
=INDEX(Feuil1!$A$1:$A$14;PETITE.VALEUR(SI(Feuil1!$A$1:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$A$1:$A$14))));LIGNE(INDIRECT("Feuil1!$1:$"&NB.SI(Feuil1!$A$1:$A$14;"<>" )))))
 
et l'autre
=SIERREUR(INDEX(toto;EQUIV(0;NB.SI($C$1:C1;toto);0));"" )
 
https://www.cjoint.com/c/NAdnqidafTY

n°3445634
arnuche
Posté le 03-01-2024 à 14:28:50  profilanswer
 

Merci, marche toujours pas  :o  
 
Encore le même souci avec ton fichier : je vois les chiffres mais ils disparaissent quand j'active la modification.  
Et quand je vais voir ta formule toto, il y a une petite différence par rapport à ce que tu as mis ci-dessus ; à la fin c'est ">0" au lieu de "<>". J'ai donc remplacé ">0" par "<>" puis par "><" mais ça ne change rien, je ne comprends pas le souci. :heink:  
 
Je rappelle que c'est pour une liste de noms, pas pour des chiffres, mais ça devrait fonctionner aussi j'imagine.

n°3445647
DjiDji5943​0
Posté le 03-01-2024 à 17:25:22  profilanswer
 

Je ne comprends pas pourquoi, parce que toutes les fonctions existent dans excel 2016. J'ai vérifié avec du texte, a condition de mettre NB.SI(Feuil1!$A$1:$A$14;"<>" ), ça fonctionne pareil
C'est toto qui pose probleme ? meme quand tu la tapes a la main c'est une matricielle  
Si tu fais = somme (toto) et que tu evalues la formule juste apres somme ça donne quoi ? on doit voir la matrice
met ton fichier  en erreur que je vois s'il y est chez moi


Message édité par DjiDji59430 le 03-01-2024 à 17:43:15
n°3445652
arnuche
Posté le 03-01-2024 à 17:49:56  profilanswer
 

Je ne comprends pas non plus, j'en ai d'autres du même genre qui passent très bien. :??:  
 
J'ai copié tes données et ta formule dans un nouveau fichier en mettant directement la 1ère formule à la place de toto ;

Code :
  1. =INDEX(INDEX(Feuil1!$A$1:$A$14;PETITE.VALEUR(SI(Feuil1!$A$1:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$A$1:$A$14))));LIGNE(INDIRECT("Feuil1!$A1:$"&NB.SI(Feuil1!$A$1:$A$14;">0" )))));EQUIV(0;NB.SI($C$1:C1;INDEX(Feuil1!$A$1:$A$14;PETITE.VALEUR(SI(Feuil1!$A$1:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$A$1:$A$14))));LIGNE(INDIRECT("Feuil1!$A1:$"&NB.SI(Feuil1!$A$1:$A$14;">0" ))))));0))


 
et j'obtiens #REF! ;
https://i.ibb.co/HBSD228/Excel-toto-arn.jpg
 
 
Le fichier ;
https://www.cjoint.com/c/NAdqWFJkUUP

n°3445653
arnuche
Posté le 03-01-2024 à 17:59:23  profilanswer
 

Et toujours #REF! en évaluant toto ;

Code :
  1. =SOMME(INDEX(Feuil1!$A$1:$A$14;PETITE.VALEUR(SI(Feuil1!$A$1:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$A$1:$A$14))));LIGNE(INDIRECT("Feuil1!$A1:$"&NB.SI(Feuil1!$A$1:$A$14;">0" ))))))


 
https://i.ibb.co/n3Mv0hf/Excel-toto-arn-somme.jpg

n°3445654
DjiDji5943​0
Posté le 03-01-2024 à 18:13:56  profilanswer
 

dans les
 
LIGNE(INDIRECT("Feuil1!$A1:$ "&NB.SI(Feuil1!$A$1:$A$14;">0" )),  
 
il y a une erreur  il manque un A apres le $ et   devant le deuxieme  "  
https://www.cjoint.com/c/NAdrnp8nhiY


Message édité par DjiDji59430 le 03-01-2024 à 18:14:38
n°3445660
arnuche
Posté le 03-01-2024 à 19:07:24  profilanswer
 

Ça ne va toujours pas, maintenant j'ai #N/A en colonne C  :o  
Je ne comprends pas comment ça a pu marcher chez toi avec un A manquant. :heink:  
 
J'ai essayé de rajouter et enlever le signe $ et j'ai toujours #N/A.
 
Et si je fais ça, j'obtiens 2 ;

Code :
  1. =SOMME(INDEX(Feuil1!$A$1:$A$14;PETITE.VALEUR(SI(Feuil1!$A$1:$A$14<>"";LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$A$1:$A$14))));LIGNE(INDIRECT("Feuil1!$A$1:$A$"&NB.SI(Feuil1!$A$1:$A$14;">0" ))))))

n°3445672
DjiDji5943​0
Posté le 03-01-2024 à 23:40:17  profilanswer
 

c'est dans ta formule recopiée qu'il manquait un A. la mienne de toto  
Posté le 03-01-2024 à 14:16:28  etait compléte !
et somme(), c'est quand tu evalues, ça permet de voir la matrice, juste avant de faire somme() autrement, tu ne vois que le premier terme de la matrice
 
Crdlmt

n°3445681
arnuche
Posté le 04-01-2024 à 10:17:14  profilanswer
 

DjiDji59430 a écrit :

c'est dans ta formule recopiée qu'il manquait un A.


Je n'ai fait que recopier celle qui venait de ton fichier.
 

DjiDji59430 a écrit :

la mienne de toto Posté le 03-01-2024 à 14:16:28 etait compléte !


Et pourtant elle ne fonctionne pas chez moi, elle renvoie #N/A. :o
Je peux essayer de la décomposer et voir quelle partie pose problème.


Message édité par arnuche le 04-01-2024 à 10:21:38
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  107  108  109  ..  111  112  113  114  115  116

Aller à :
Ajouter une réponse
 

Sujets relatifs
[EXCEL] Faire une mise à jour dynamique de valeur entre champsExcel : rechercher et afficher une liste
[EXCEL] Conversion/multiplication de massequestions sur la téléphonie avec free en 512k
Excel: Comment insérer automatiquement un titre à chaque page ?[excel] largeur de colonne différente
[Excel] (N00B Inside :-/ )Je veux additionner ...2 questions urgentes : Remplacer Photoshop et achat de scanner
changer la police par défaut sous Excel[Excel] Comment faire pivoter une feuille ?
Plus de sujets relatifs à : [Topic Unique] Excel : Keep calm and Pivot Table !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)