Comment exclure des cellules vides d'une liste? [Résolu/Fermé]

Signaler
-
 NT User -
Bonjour,

J'ai une colonne avec des cellules vides, et je dois faire une liste déroulante à partir de cette colonne en excluant les cellules vides. Quelle formule puis je utiliser? Merci d'avance.

8 réponses

Merci beaucoup! Je viens de tester, et ça marche. Je recopie la ligne si ça peut aider d'autres personnes:
=INDEX(champ;PETITE.VALEUR(SI(champ<>"";LIGNE(INDIRECT("1:"&LIGNES(champ))));LIGNES($1:1)))

Comment puis je intégrer la formule DECALER proprement à savoir que je veux afficher la valeur d'une autre colonne de la même ligne? Merci encore.
9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61806 internautes nous ont dit merci ce mois-ci

J'ai une version excel 2007. J'ai bien cocher la case "ignorer si vide", mais ça ne change rien, ma liste contient des blancs et je ne veux pas de ces blancs.

A force de nombreuses recherches, je pense que j'ai finalement trouvé une solution donnée ici avec un exemple: http://forum.excel-pratique.com/excel/liste-deroulante-avec-ignorer-si-vide-t3936.html

La personne a le même problème que moi, la case "ignorer si vide" ne fait aucune différence cochée ou pas.

Par contre si quelqu'un a plus simple je suis preneur, parce ça semble bien compliqué pour une fonction qui parait relativement simple
Je sais que la discussion est un peu vielle, mais une explication peu servir à d'autres.
En fait, Excel considère que si une case a une mise en forme, elle n'est plus "vide". En gros, le "ignorer si vide" ne fonctionne que pour les cases vides sans mise en forme (ce qui, je vous l'accorde, est un peu stupide d'Excel, mais bon...). Voilà, donc ce n'est pas réellement une solution mais si vous enlevez toute mise en forme dans la matrice de contenu, la liste déroulante ne contiendra pas les blancs.
Messages postés
51903
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 juillet 2020
13 632
Ton explication m'a paru contestable.

J'ai quand même vérifié : ça ne marche évidemment pas !
non je ne peux pas faire de tri, ma base de données est dynamique, j'ai donc un besoin impératif de pouvoir faire une liste déroulante en fonction d'une colonne dont les blancs sont susceptibles de changer. N'y a-t-il pas un moyen simple de supprimer les cellules vides? La je galère comme jamais, même avec la formule que j'ai trouvé et qui ne marche pas comme il faut pour mon application.
Messages postés
51903
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 juillet 2020
13 632
"N'y a-t-il pas un moyen simple de supprimer les cellules vides?" NON !

Il te faudra une solution VBA par macro,
ou une formule combinant les fonctions DECALER, EQUIV, INDEX, LIGNE ...
donc pas simple !
Je me réponds à moi même j'ai trouvé pour le décalage dans ce fichier:

http://boisgontierjacques.free.fr/fichiers/DonneesValidation/ListeCond.xls

C'est encore mieux que la méthode précédente et plus facile à mettre en oeuvre.
Messages postés
51903
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 juillet 2020
13 632
C'est bien ce que je t'indiquais dans le message #3 : "Il faut copier la liste dans un autre emplacement, puis en faire un tri, avant de sélectionner la plage intéressante"
Jacques BOISGONTIER n'a pas utilisé directement la colonne A comme source de sa liste déroulante, mais la plage créée en E à l'aide d'une formule qui réalise un tri en éliminant les cellules non cochées (manuellement) en B ; c'est donc l'utilisateur du fichier qui fait le travail de sélection des lignes, et pas l'ordinateur.
L'ensemble est donc encore plus compliqué que ce que j'avais proposé ! Surtout si ton fichier a quelques centaines de lignes ...
Messages postés
51903
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 juillet 2020
13 632
Ma procédure :
* Sélectionner A2:A13
* Faire Copier
* Faire Collage spécial/Valeurs en E2
* Faire Trier de A à Z
* Définir le nom "Liste" pour la plage E2:E13 (ou E2:E7) et l'utiliser comme source de la validation : https://www.cjoint.com/c/CAhnsBodrL4

Cordialement.

C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
Bonjour,

Je me permets de donner une méthode simple:
Si c'est une colonne dans laquelle vous voulez retirer les vides, vous la sélectionnez et faites "retirer les doublons" dans le menu "Données".

Si c'est dans une ligne c'est plus scioux:
1) Vous copiez votre ligne de données dans laquelle vous voulez retirer les cases vides.
2) Dans un nouvel onglet par exemple vous faites un "collage spécial"> En valeurs + "En transposé"
3) Votre ligne sera alors en colonne, vous supprimez les doublons
4) vous recopiez votre colonne5) dans l'onglet initial vous recopiez votre ligne qui est maintenant sans cellule vide
6) Vous refaites la mise en forme.

Voilà...à toutes fins utiles c'est une solution.
Messages postés
1492
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
83
Je ne comprends pas votre question !!

Quand vous créer une liste, s'il existe des cellules vides, elle ne sont pas reprise dans votre liste .. à moins que vous n'utilisiez un très vieux Excel !!

Pour créer une liste,
	taper simultanément "CTRL+Maj+L",
	sélectionner les cellules qui feront partie de cette liste,
	tapez "Enter"
essaye et tu comprendras
Messages postés
51903
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 juillet 2020
13 632
Il faut copier la liste dans un autre emplacement, puis en faire un tri, avant de sélectionner la plage intéressante.
Est ce que vous avez un exemple de formule que je peux utiliser sans VBA?

J'ai déjà cette formule =MIN(SI(NON(ESTVIDE(DECALER($A1:$A$10;NB.VIDE($A$1:$A1);;;)));LIGNE(DECALER($A1:$A$10;NB.VIDE($A$1:$A1);;;))))

cette formule marche très bien pour trouver le numéro de 1ére ligne d'une cellule non vide tant que les cellules vides ne sont pas issus d'une formule avec résultat "", car malheureusement les cellules issues de "" ne sont pas considérées comme vide. Est ce qu'il y a moyen de transformer cette formule pour ignorer autre chose qu'une cellule vide, par exemple un 0 ou un texte? Merci
Messages postés
2995
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
789
Salut le forum

Un lien : Liste sans vides

Mytå