Zone de liste sans doublon+par ordre alphabétique

BenHarber

XLDnaute Occasionnel
Bonsoir le Forum
Voici mon problème (j'ai bien cherché des FILs avant de vous le soumettre car il me semble avoir déjà vu un bout de code qui aurait pu m'aider...mais sans résultat).
J'ai une liste de noms en colonne E, disons RENAUD, DUPOND, RENAUD, LELAC, FOURBI, LELAC.
Je souhaiterais au lancement d'un USF, initialiser une zone de liste déroulante qui reprenne ces données...
1) Sans doublon
2) Par ordre alphabétique
(Ca donnerait donc DUPOND, FOURBI, LELAC, RENAUD)

Merci d'avance pour vos conseils, astuces ou renvois sur ce sujet.

Cordialement,

BenHarber
 
B

bebere

Guest
bonsoir BenHarber
un fichier démo en pièce jointe
à bientôt [file name=listBoxExemples.zip size=19360]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/listBoxExemples.zip[/file]
 

Pièces jointes

  • listBoxExemples.zip
    18.9 KB · Affichages: 229

BenHarber

XLDnaute Occasionnel
Bonjour bebere,
Merci de ta réponse...mais , désolé, je ne comprends pas vraiment...
Si je reprends ton exemple et que je le modifie comme suit :
- en ligne 4 je saisis la valeur ''Ligne 6'' (dans ta liste, il n'y a donc plus de valeur ''ligne 1'' et 2 fois la valeur ''ligne 6'')
- en ligne 8 je saisis la valeur ''Ligne 2'' (dans ta liste, il n'y a donc plus de valeur ''ligne 5'' et 2 fois la valeur ''ligne 2'')
Le but du jeu serait alors que ma zone de liste déroulante reprenne les valeurs de ta liste triées mais sans doublon cad :
Ligne 2
Ligne 3
Ligne 4
Ligne 6
Ligne 7

Dans le code, je pense qu'il faut effectivement passer par un tableau...mais je ne suis pas assez calé pour déterminer comment il doit s'articuler !

Peux-tu m'aiguiller ? Quelqu'un d'autre aurait-t-il une solution ?

Merci d'avance.

Cordialement,

BenHarber
 
B

bebere

Guest
bonjour BenHarber,Daniel,le Forum
dans le code,les explications
l'autre fichier est plutôt une démo des caractéristiques d'une listbox
à bientôt ;) [file name=LisboxSort.zip size=12739]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/LisboxSort.zip[/file]
 

Pièces jointes

  • LisboxSort.zip
    12.4 KB · Affichages: 87

Hervé

XLDnaute Barbatruc
Re:Zone de liste sans doublon+par ordre alphabétiq

Bonjour ben, daniel, bebere

une autre solution possible, plus compliqué que celle de bebere, mais qui ne nécessite pas de faire appel à une autre feuille :


Option Explicit 'salut Ti
Private Sub UserForm_Initialize()
Dim c As Range
Dim tablo()
Dim i As Integer, j As Integer
Dim temp As String
Dim present As Boolean

ReDim tablo(1 To 1)
tablo(1) = Cells(1, 1)
For Each c In Range('a2:a' & Range('a65536').End(xlUp).Row)
        present =
False
       
For i = 1 To UBound(tablo)
               
If tablo(i) = c Then present = True
       
Next i
       
If Not present Then
               
ReDim Preserve tablo(1 To UBound(tablo) + 1)
                tablo(UBound(tablo)) = c
       
End If
       
For i = 1 To UBound(tablo)
               
For j = 1 To UBound(tablo)
                       
If tablo(i) < tablo(j) Then
                                temp = tablo(i)
                                tablo(i) = tablo(j)
                                tablo(j) = temp
                       
End If
               
Next j
       
Next i
Next c

ListBox1.List = tablo
                       
               
End Sub

démo en pièce jointe.

salut [file name=Classeur2_20051222105733.zip size=7147]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20051222105733.zip[/file]
 

Pièces jointes

  • Classeur2_20051222105733.zip
    7 KB · Affichages: 74

BenHarber

XLDnaute Occasionnel
Re:Zone de liste sans doublon+par ordre alphabétiq

Bebere, Daniel, Hervé
Merci sincèrement pour votre aide : j'ai déjà essayé le code d'Hervé + celui de Thierry : ça marche nickel....me reste plus qu'à essayer comprendre..(car je suis loin d'avoir votre niveau de programmation ! Si si !!)

Bebere, ton second fichier me fait planter Excel à chaque lancement de la macro (je suis au boulot sous 97 et je suppose qu'il y a des instructions incompatibles avec cette version ??). Quoi qu'il en soit, je réessaierai de mon poste perso.

Merci encore pour tout. Je vous souhaite de bonne fêtes de fin d'année.

BenHarber
 

Discussions similaires