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

 

 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  106  107  108  109  110  111
Auteur Sujet :

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

n°3443749
DjiDji5943​0
Posté le 29-11-2023 à 11:10:14  profilanswer
 

Reprise du message précédent :
Bonjour à tous,
 
donnée ==>convertir (;) puis accueil==>remplacer le point par une virgule
ou bien une formule:
 
=SUBSTITUE(STXT(K5;1;NBCAR(K5)-5);".";"," )*1
 
Crdlmt


Message édité par DjiDji59430 le 29-11-2023 à 11:16:55
mood
Publicité
Posté le 29-11-2023 à 11:10:14  profilanswer
 

n°3443750
david42fr
Posté le 29-11-2023 à 11:21:07  profilanswer
 

Merci, je pensais qu'il existait une formule pour "extraire" la partie numérique d'une cellule directement.


---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
n°3443751
arnuche
Posté le 29-11-2023 à 11:29:58  profilanswer
 

C'est ce que fait STXT, mais ça marche pour tous les caractères, pas juste les chiffres.
Sinon tu peux toujours créer un nouveau CSV avec Powershell pour garder juste la partie qui t'intéresse et l'importer ensuite dans Excel.

n°3443753
DjiDji5943​0
Posté le 29-11-2023 à 11:52:12  profilanswer
 

Je ne l'avais pas cité, mais c'est super rapide avec power query qui traite le fichier csv directement
 
Crdlmt


Message édité par DjiDji59430 le 29-11-2023 à 11:52:51
n°3443832
arnuche
Posté le 30-11-2023 à 18:38:35  profilanswer
 

Hello,
 
comment changer automatiquement la couleur (via MFC) d'une cellule quand une autre cellule de la même ligne est sélectionnée (quelle que soit la colonne de la cellule sélectionnée) ?
C'est pour une plage délimitée, donc ne doit pas s'appliquer à toutes les lignes.
 
Je suppose qu'il faut du VBA.

n°3443838
otobox
Maison fondée en 2005
Posté le 30-11-2023 à 19:56:40  profilanswer
 

arnuche a écrit :

Hello,
 
comment changer automatiquement la couleur (via MFC) d'une cellule quand une autre cellule de la même ligne est sélectionnée (quelle que soit la colonne de la cellule sélectionnée) ?
C'est pour une plage délimitée, donc ne doit pas s'appliquer à toutes les lignes.
 
Je suppose qu'il faut du VBA.


Oui, je le ferais avec une macro vba. Regarde le on_click de la feuille.


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°3443840
MaybeEijOr​Not
but someone at least
Posté le 30-11-2023 à 20:50:53  profilanswer
 

Je partirai plus sur l'évènement "SelectionChange" : https://learn.microsoft.com/fr-fr/o [...] tionchange
 
Tu récupères la ligne de la cible avec target.row puis tu fais ce que tu veux.
Le vrai problème étant la gestion de ligne précédemment sélectionné qu'il faut réinitialiser. Une fois que tu as fait un SelectionChange tu peux garder en mémoire le dernier élément modifié, mais avant je ne vois pas comment initialiser sans forcer une sélection initiale.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3443843
arnuche
Posté le 30-11-2023 à 22:13:16  profilanswer
 

otobox a écrit :

Regarde le on_click de la feuille.


C'est quoi ?  :o  
 

MaybeEijOrNot a écrit :

Je partirai plus sur l'évènement "SelectionChange" : https://learn.microsoft.com/fr-fr/o [...] tionchange
 
Tu récupères la ligne de la cible avec target.row puis tu fais ce que tu veux.


Ok, mais je ne vois pas bien comment faire.
J'ai trouvé quelques codes* dont le but est de changer la couleur de toute la ligne sélectionnée, pas d'une cellule comme je voudrais faire. Il doit y avoir moyen de les adapter mais je ne maitrise pas le sujet.
 

MaybeEijOrNot a écrit :

Le vrai problème étant la gestion de ligne précédemment sélectionné qu'il faut réinitialiser. Une fois que tu as fait un SelectionChange tu peux garder en mémoire le dernier élément modifié, mais avant je ne vois pas comment initialiser sans forcer une sélection initiale.


Je ne vois pas bien où est le souci, il faudrait que je puisse tester un code pour voir comment ça se passe.
 
*  
-3 codes ;
https://excel-downloads.com/threads [...] nee.59165/
 
-un autre dans le dernier commentaire ;
https://www.youtube.com/watch?v=Xvb1pAnQrts

Code :
  1. Range(Rows(3), Rows(10000)).Interior.Color = xlNone 
  2. Rows(Target.Row).Interior.Color = RGB(217, 225, 242)


 
-fichier xlsm ;
https://forum.excel-pratique.com/ex [...] 25#p282779
 
-ou ;
https://www.excelformation.fr/video [...] onnee.html

Code :
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     Cells.FormatConditions.Delete
  3.      With ActiveCell.CurrentRegion.FormatConditions.Add(Type:=xlExpression, Formula1:="=LIGNE(" & ActiveCell.CurrentRegion.Cells(1).Address(False, False) & " )=" & ActiveCell.Row) '1
  4.         .Font.ColorIndex = 2        ' 2
  5.         .Interior.ColorIndex = 32   ' 3
  6.     End With    '4
  7. End Sub


Sauf que je n'ai pas besoin du Cells.FormatConditions.Delete, je suppose que je peux effacer cette ligne.


Message édité par arnuche le 30-11-2023 à 22:30:45
n°3443866
arnuche
Posté le 01-12-2023 à 13:24:09  profilanswer
 

J'ai testé la première méthode du dernier lien et ça marche  :)  
Il faut bien nommer la cellule où se trouve le n° de ligne (G1 nommé _maLigne dans son exemple) sinon ça ne marche pas.

n°3443869
MaybeEijOr​Not
but someone at least
Posté le 01-12-2023 à 13:45:45  profilanswer
 

Ben si tu supprimes Cells.FormatConditions.Delete, je suppose que si tu changes de nouveau de cellule, la précédente garde sa couleur.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
mood
Publicité
Posté le 01-12-2023 à 13:45:45  profilanswer
 

n°3443874
arnuche
Posté le 01-12-2023 à 16:57:32  profilanswer
 

J'ai lu que ça enlevait la MFC sans la remettre.
Mais c'est l'autre que j'ai testée, plus courte (il donne 3 méthodes).

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

: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 ?
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
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  :??:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  106  107  108  109  110  111

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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR