Liste déroulante sans "vide"

  • Initiateur de la discussion Initiateur de la discussion killabees
  • 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 !

killabees

XLDnaute Nouveau
Bonjour

Mon fichier exemple me sert pour expliquer la situation.

La liste "etude" de la 1ère feuille va de A2 à A21.

Dans la 2ème feuille, la colonne que j'ai appellé bilan, j'aimerai avoir de B5 à B15 des listes déroulante qui reprennent les valeurs de la liste etude.
Comme on peut le voir dans ces listes déroulantes, les cases vides apparaissent, et je voudrais qu'elles n'apparaissent pas.

Pouvez vous m'expliquer ce que vous allez faire car mon fichier n'est qu'en exemple et cette technique me servirait dans plusieurs fichiers.

Merci beaucoup
 

Pièces jointes

Re : Liste déroulante sans "vide"

Je relance :

Dans la liste déroulante de la feuille 2, comment faire pour trier en ordre croissant les données, sans avoir à faire un tri des données de la feuille 1?

Merci de votre aide!

Éric
 
Re : Liste déroulante sans "vide"

Bonjour,

Une collection

Au départ, liste avec vides et doublons.
A l'arrivée, listes sans doublons ni vide
dans l'ordre de la 1ère liste
ou dans l'ordre croissant
ou dans l'ordre décroissant
ou, au choix par liste de validation, tri croissant ou décroissant

Formules matricielles, à valider par ctrl, maj et entrée
Reste à raccourcir les formules…
 

Pièces jointes

Re : Liste déroulante sans "vide"

Fonction perso en VBA:



http://boisgontierjacques.free.fr/fichiers/fonctionsperso/Fonction_sansdoublonsTrie.xls

-Alt+F11
-Insertion module
-Copier/Coller du code
Code:
Dans le tableur
-Sélectionner C2:C11
=sansdoublonstrié(A2:A11)
-valider avec maj+Ctrl+Entrée
Function SansDoublonsTrié(champ As Range)
  Set MonDico = CreateObject("Scripting.Dictionary")
  temp = champ
  For i = 1 To UBound(temp, 1)
    If Not MonDico.Exists(temp(i, 1)) And temp(i, 1) <> 0 Then
      MonDico.Add temp(i, 1), temp(i, 1)
    End If
  Next i
  a = MonDico.items
  j = UBound(a)
  Call tri(a, 0, j)
  SansDoublonsTrié = Application.Transpose(a)
End Function

Sub tri(a, gauc, droi)          ' Quick sort
 ref = a((gauc + droi) \ 2)
 g = gauc: d = droi
 Do
     Do While a(g) < ref: g = g + 1: Loop
     Do While ref < a(d): d = d - 1: Loop
     If g <= d Then
       temp = a(g): a(g) = a(d): a(d) = temp
       g = g + 1: d = d - 1
     End If
 Loop While g <= d
 If g < droi Then Call tri(a, g, droi)
 If gauc < d Then Call tri(a, gauc, d)
End Sub

JB
Formation Excel VBA JB
 
- 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

Réponses
8
Affichages
595
Réponses
2
Affichages
729
Réponses
16
Affichages
2 K
Retour