XL 2013 enlever cellule vide de colonne pour lister en ligne

erics83

XLDnaute Impliqué
Bonjour,

J'ai "une bas de données", que je mets ensuite en ligne. certaines données des colonnes sont vides et j'aimerai "concatiser" ou autre....

1651500424954.png



là, pour l'exemple, j'ai mis les différents résultats, mais je souhaiterai avoir le résultat en Feuil3.[A1]...

Est ce possible de passer via formule donc sans VBA ? On admet qu'en Feuil2, j'ai une liste déroulante des thèmes contenus en A:A, je sélectionne "Essai2" (par exemple) et le résultat (N°2) s'affiche en Feuil3 ?

En vous remerciant pour votre aide,
 

Pièces jointes

  • classeurtest.xlsx
    9 KB · Affichages: 7

Lolote83

XLDnaute Barbatruc
Bonjour ERICS83,
Voici ton fichier en retour en espérant avoir bien compris la consigne.
Par contre, y aura-t-il qu'une seule ligne par thème ? comme c'est la cas ici.
Je pense que s'il y a plusieurs lignes, cela ne marchera pas dans mon exemple.
@+ Lolote83
 

Pièces jointes

  • Copie de ERICS83 - Cellule vide de colonne.xlsx
    15.5 KB · Affichages: 5

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour chacune et chacuns,

Puisque terminé, je joins.
Formules avec index/equiv, agregat et transpose.
j'ai créé un nom : "Valeurs" qui retourne les valeurs de la ligne choisie.
créer un nom permet de rechercher qu'une fois ces valeurs et d'éclaircir les formules.

Cordialement
 

Pièces jointes

  • erics83.xlsx
    20.4 KB · Affichages: 2
Dernière édition:

erics83

XLDnaute Impliqué
Merci djidji59430,
Merci Lolote83,
Merci Hasco,

3 méthodes qui fonctionnent parfaitement !!! MERCI !!!

Je vais faire 2-3 essais avec mon classeur source....Je pensais bien qu'il fallait passer par un EQUIV/INDEX...
En tout cas MERCI !!! car cela me permet de comprendre et de ré-utiliser 3 méthodes

Merci pour votre aide !

Rebonjour,

J'essaye de comprendre le fonctionnement des différentes formules....et j'aurais besoin de votre aide à nouveau : la liste déroulante me "perturbe" dans la compréhension notamment la partie sur les "LIGNES" ...Serait-il possible d'avoir la formule pour juste la ligne 2 ? (en admettant qu'il n'y ait pas d'autres lignes ?) et avoir les 2 types résultats : soit en ligne, soit en colonne ?

1651654273644.png


Merci pour votre aide,
 

Pièces jointes

  • classeurtestseul.xlsx
    8.7 KB · Affichages: 0
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour chacune, chacun,

Voici quelques explications sur la fonction données au post#4 : INDEX(Valeurs;AGREGAT(15;6;LIGNE(1:17)/--ESTTEXTE(TRANSPOSE(Valeurs));LIGNE(1:17)))

Nom : Valeurs
Définition : =INDEX(Feuil1!$A$2:$Q$4;EQUIV(Feuil2!$B$3;Liste_Themes;0);0)
Objectif : retourner toutes les valeurs de la ligne de la base de données pourt le nom cherché dans 'Liste_Themes' (Feuil1!A2:A4)

Fonction : AGREGAT
Objectif
: Nous permettre de retourner les numéros de lignes de la transposition de 'Valeurs' qui ne sont pas vides. AGREGAT va employer la fonction Petite.Valeur (15 du premier paramètre) au tableau qu'on lui passe.
Le deuxième paramètre (6) permet de lui demander d'ignorer les erreurs dans le tableau.
Dans notre cas le tableau sera le tableau des numéros de lignes des Valeurs transposé (1..nombre d'entête de colonne) divisés par le test : EstText(....) qui renverra Faux (0) ou Vrai (1) suivant que la valeur examinée est un texte ou non.
Agregat, ignorant les erreurs produites par les divisions par 0, il ne restera qu'un tableau de numéros.

Ainsi INDEX(Valeurs;AGREGAT(15;6;LIGNE(1:17)/--ESTTEXTE(TRANSPOSE(Valeurs));LIGNE(1:17))) devient
INDEX(Valeurs;TableauDeNumérosDeLignes)

Cordialement
 

Lolote83

XLDnaute Barbatruc
Bonjour chacune, chacun,

Voici quelques explications sur la fonction données au post#4 : INDEX(Valeurs;AGREGAT(15;6;LIGNE(1:17)/--ESTTEXTE(TRANSPOSE(Valeurs));LIGNE(1:17)))

Nom : Valeurs
Définition : =INDEX(Feuil1!$A$2:$Q$4;EQUIV(Feuil2!$B$3;Liste_Themes;0);0)
Objectif : retourner toutes les valeurs de la ligne de la base de données pourt le nom cherché dans 'Liste_Themes' (Feuil1!A2:A4)

Fonction : AGREGAT
Objectif
: Nous permettre de retourner les numéros de lignes de la transposition de 'Valeurs' qui ne sont pas vides. AGREGAT va employer la fonction Petite.Valeur (15 du premier paramètre) au tableau qu'on lui passe.
Le deuxième paramètre (6) permet de lui demander d'ignorer les erreurs dans le tableau.
Dans notre cas le tableau sera le tableau des numéros de lignes des Valeurs transposé (1..nombre d'entête de colonne) divisés par le test : EstText(....) qui renverra Faux (0) ou Vrai (1) suivant que la valeur examinée est un texte ou non.
Agregat, ignorant les erreurs produites par les divisions par 0, il ne restera qu'un tableau de numéros.

Ainsi INDEX(Valeurs;AGREGAT(15;6;LIGNE(1:17)/--ESTTEXTE(TRANSPOSE(Valeurs));LIGNE(1:17))) devient
INDEX(Valeurs;TableauDeNumérosDeLignes)

Cordialement
Merci HASCO pour ces explications. Car pour moi, la fonction AGREGAT, c'est encore le flou total. 1000 mercis
 

erics83

XLDnaute Impliqué
Merci Hasco d'avoir pris ces moments pour m'expliquer la fonction. Je vais faire 2-3 essais car mon niveau d'excel n'est pas très haut.....

Merci Lolote83 pour les explications, qui m'ont permis de comprendre la logique....c'est top !!

Je souhaitais savoir comme indiqué dans mon précédent post, s'il était possible d'obtenir le même résultat en le disposant en ligne, plutôt qu'en colonne.....

Merci pour votre aide,
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Re,
s'il était possible d'obtenir le même résultat en le disposant en ligne, plutôt qu'en colonne.....

formule à mettre dans une cellule (F8 dans le fichier joint) et à tirer vers la droite. :
=SIERREUR(INDEX(Valeurs;;AGREGAT(15;6;COLONNE(Valeurs)/(Valeurs<>"");COLONNE(A1)));"")

Cordialement
 

Pièces jointes

  • erics83.xlsx
    21.3 KB · Affichages: 3

erics83

XLDnaute Impliqué
Oui, merci Lolote83, effectivement ma demande initiale était "en ligne", mais....comme ça j'aurais les 2 versions et grâce aux explications, j'ai à peu près compris....lol

Super MERCI Hasco c'est simple et efficace, et avec vos explications sur AGREGAT, je pense avoir compris....je vais faire des tests.....

Merci pour votre aide,
Eric
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T