XL 2019 récupérer une partie d'une liste

  • Initiateur de la discussion Initiateur de la discussion Goo69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Goo69

XLDnaute Junior
Bonjour,
Je cherche à récupérer une partie d'une liste d'items d'un tableau. Dans cette liste, il n'y a qu'un seul terme que je ne veux pas récupérer, "virement interne".
En utilisant une conditionnelle simple, il y a une cellule vide dans la liste récupérée.

La liste initiale, avec "virement interne" est aussi utilisée en tant que liste déroulante dans un autre tableau. Donc elle n'est pas modifiable.
Le plus simple serait de créer un autre tableau, sans cet item.
Mais j'aimerai savoir s'il est possible d récupérer cette liste, sans "virement interne" et sans cellule vide, pour éviter de la dupliquer.

Merci !

gOO
 

Pièces jointes

Bonjour

avec cette formule matricielle (= valider avec Ctrl + Shift + Entrer)

VB:
=INDEX(natures_des_recettes[nature des recettes];PETITE.VALEUR(SI(natures_des_recettes[nature des recettes]<>"virement interne";LIGNE(natures_des_recettes[nature des recettes]));LIGNES($E$1:E1))-1)
 
sinon.. on est bien d'accord qu'un des interets majeurs d'une table excel c'est de regrouper des éléments NON vides...
donc ta table "nature des recettes" doit s'arreter à la ligne 8
ainsi.. la seconde table ne peut pas dépasser la ligne 8 non plus:
du coup. avec la formule précédente, il y a une erreur #nombre

tu peux donc modifier la formule en ajoutant un SiErreur
VB:
=SIERREUR(INDEX(natures_des_recettes[nature des recettes];PETITE.VALEUR(SI(natures_des_recettes[nature des recettes]<>"virement interne";LIGNE(natures_des_recettes[nature des recettes]));LIGNES($E$1:E1))-1);"")
 
Effectivement vgendron, j'ai découvert récemment qu'un tableau qui fait appelle à une table doit faire le même nombre de lignes, mais aussi être sur la même ligne (même si l'une des tables se trouve dans un autre ongle).
Ta solution est nickel !
Un big up à toi !
Encore une chose cependant. Les lignes vides de la table s'affichent à zéro dans le tableau. S'il n'y avait rien, ce serait mieux.
Voici ce que j'ai essayé mais qui ne fonctionne pas :
Code:
=SIERREUR(SI(ESTVIDE(natures_des_recettes[nature des recettes]);"";INDEX(natures_des_recettes[nature des recettes];PETITE.VALEUR(SI(natures_des_recettes[nature des recettes]<>"virement interne";LIGNE(natures_des_recettes[nature des recettes]));LIGNES($E$1:E8))-1));"")
Une idée lumineuse ?
 
Comme je le disais, l'idée est de ne PAS mettre de lignes vides dans la table initiale

sinon:
en modifiant la formule pour ajouter une condition: et (<>"virement interne"; <>"") ==> Colonne E
et bien.. ca ne fonctionne pas.. et je ne comprends vraiement pas pourquoi... voir avec les specialistes des formules matricielles

reste plus qu'à passer par une colonne intermédiaire (Colonne G) pour avoir le résultat attendu colonne I
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour