Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2011, 14h01   #1
Nouveau Membre du Club
 
Inscription : avril 2011
Messages : 118
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 118
Points : 32
Points : 32
Par défaut Supprimer les valeurs vides de ma liste déroulante

Bonjour ,

J'ai créer un nom : LstNom qui contient ma plage de cellule 'FeuilleNom'!$B$7:$B$81.

Seulement cette plage comporte plusieurs cellule vide qui par conséquent apparaisse dans ma liste déroulante.

J'ai essayé de passé par la façon intermédiaire du filtre mais étant données que j'ai besoin de ces données sur une autre feuille, cela ne fonctionne pas.

J'ai essayé de passé par la fonction DECALER() qui ne me retourne pas le résultat attendu.

Dans l'idéal, je me demande s'il n'est pas possible d'enregistrer sous un nom la liste qui apparait quand je sélection ma plage - clique droit - Liste déroulante de choix. Et ce, de façon dynamique!

Sachant que je ne peux pas trop faire un tri dynamique sur cette plage dans une autre feuille.

Sinon autre question que je me posais, si ce n'est pas possible avec les formules, est ce possible en passant par du VBA et une donc une macro qui mettrai à jour mon nom où serais stocker mes données ?

Détail supplémentaire : Il faut obligatoirement que ces valeurs soit stockés sous un nom afin de posé des conditions sur mes listes déroulantes.

J'espere ne pas être trop vague... et compréhensible. Si vous avez des suggestions s'il vous plait ?!

Merci d'avance
Nanais19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 14h32   #2
Nouveau Membre du Club
 
Inscription : avril 2011
Messages : 118
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 118
Points : 32
Points : 32
J'ai trouvée ce lien qui correspond exactement à mon problème :

http://www.developpez.net/forums/d97...e/#post5463603

Seulement, comment faire pour récupérer la piece jointe proposé ?
Nanais19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 15h28   #3
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Bonjour,

Voir le lien suivant.
http://excel.developpez.com/faq/inde...isteValidation
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/10/2011, 13h26   #4
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous,

Une idée de réponse à la question par formules dans la feuille nommée FeuilleNom. Une première formule en C7 (recopiée jusqu'en C91) pour numéroter les cellules renseignées (non vides) de la plage $B$7:$B$81
Code :
=SI(B7="";"";MAX($C$6:C6)+1)
Une deuxième formule en K1 -par exemple- (recopiée vers le bas) pour recueillir les éléments de la liste déroulante sans les vides
Code :
=SI(LIGNES($1:1)<=MAX($C:$C);INDEX($B:$B;EQUIV(LIGNES($1:1);$C:$C;0));"")
et une troisième formule pour la liste déroulante nommée LstNom
Code :
=DECALER(FeuilleNom!$K$1;;;MAX((FeuilleNom!$K$1:$K$1000<>"")*LIGNE(FeuilleNom!$K$1:$K$1000)))
En 2007 et plus, cette dernière formule peut être simplifiée par:
Code :
=DECALER(FeuilleNom!$K$1;;;MAX((FeuilleNom!$K:$K<>"")*LIGNE(FeuilleNom!$K:$K)))

Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h07.


 
 
 
 
Partenaires

Hébergement Web