Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
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 25/04/2007, 09h20   #1
Invité régulier
 
Inscription : avril 2006
Messages : 22
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2006
Messages : 22
Points : 7
Points : 7
Envoyer un message via MSN à RegiO
Par défaut [vba] - Combobox + Filtre Auto + Sans Doublons

Bonjour tout le monde,

je suis un peu en galère sur un projet, le titre me paraît assez explicite.

Je cherche à remplir une combobox à partir d'une colonne d'une feuille Excel filtrée mais sans les doublons.

Pour le moment, je suis arrivé à récupérer les valeurs filtrées comme ceci :

Code :
1
2
3
4
5
6
 
For ligne = ligneEntete To ThisWorkbook.Worksheets("nom_feuille").Range("A65536").End(xlUp).Row Step 1
    If (ThisWorkbook.Worksheets("nom_feuille").Rows(ligne).Hidden = False) Then
        ComboBox.AddItem ThisWorkbook.Worksheets("nom_feuille").Cells(ligne, 8)
    End If
Next
Ceci marche impecable...Mais je n'arrive pas à récupérer cette liste de valeurs sans doublons.

J'ai trouvé ceci qui marche pour récupérer les valeurs sans doublons, mais j'arrive pas a ajouter ceci avec ce que j'ai au dessus pour avoir que les valeurs filtrées sans doublons.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub RempliComboUnik(Plage As Range, QuelCombo As MSForms.ComboBox)
 
Dim C As Range
Dim Tbl As New Collection
Dim i As Integer
 
On Error Resume Next
For Each C In Plage
If Not IsError(C) Then
If C<>"" Then Tbl.Add C.Value, CStr(C.Value)
End If
Next C
On Error GoTo 0
 
With QuelCombo
.Clear
For i = 1 To Tbl.Count
.AddItem Tbl(i)
Next i
.ListIndex = 0
End With
 
Set Tbl = Nothing
 
End Sub

Si quelqu'un aurait une idée pour me décoincé, je pense que je dois être pres du but mais j'ai un peu de mal. En attendant votre aide, je continue ma recherche.

Merci encore.
RegiO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 09h24   #2
Membre éclairé
 
Inscription : octobre 2006
Messages : 390
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 390
Points : 396
Points : 396
il suffit juste d'ajouter juste après :
la ligne :
Code :
If C.EntireRow.hidden = False Then
+ le "End If", là où ça va bien...
dadavyvy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 09h43   #3
Invité régulier
 
Inscription : avril 2006
Messages : 22
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2006
Messages : 22
Points : 7
Points : 7
Envoyer un message via MSN à RegiO
euh...comment dire ça

Réponse claire, précise et sans bavure cela marche impecablement, je pense que je vais aller boire une thermos de café complete pour me reveiller lol.

Merci beaucoup pour ta réponse dadavyvy et même désolé d'avoir réclamer de l'aide car j'aurai pu (ou plutot du) trouver tout seul.

Merci
RegiO est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web