VBA Excel : Recuperation des valeurs distinctes d'une colonne

bendev

XLDnaute Nouveau
Bonjour,

C'est la premiere fois que je touche à Vba et je bloque sur un point : recuperer la liste des valeurs distinctes d'une colonne pour les mettres dans une combo.
Quelqu'un aurais la solution ?

Merci de votre aide
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : VBA Excel : Recuperation des valeurs distinctes d'une colonne

Bonjour,


Code:
Private Sub UserForm_Initialize()
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range([A2], [A65000].End(xlUp))
     If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
  Next c
  Me.ComboBox1.List = MonDico.items
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

  • ListeSansDoublonsDictionairex.xls
    38.5 KB · Affichages: 978

bendev

XLDnaute Nouveau
Re : VBA Excel : Recuperation des valeurs distinctes d'une colonne

Merci ça fonctionne tres bien.
Mais j'aurais une autre question
En fais mon fichier excel contient plusieurs onglets que j'ai mis en dur dans une combo, et en fais cette recherche dans la colonne dois dependre de le choix qu'on a fais dans la combo.

En gros parce que je sens que je suis pas clair.
J'ai une combo avec des valeurs A, B, C qui correspondent à 3 onglets.
Et je veux effectuer la recherche sur A si j'ai choisi A, B si j'ai choisi B ...

J'ai essayé

Dim Feuille As String
Feuille = CB_ONGL
Sheets(Feuille).Activate

Mais ça me dit que l'indice n'appartient pas à la selection

Comme je disais je suis vraiment debutant
 

bendev

XLDnaute Nouveau
Re : VBA Excel : Recuperation des valeurs distinctes d'une colonne

Desole j'ai simplement fais une erreur en recopiant les noms des onglets en dur dans la combo, normal qui ne trouve pas l'onglet correspondant.

j'ai une derniere question
Comment est ce que je pourrais recuperer la valeur d'une colonne mais de la derniere ligne ecrite du fichier et l'ecrire sur la ligne d'en dessous ?

En tout cas merci beaucoup pour votre aide
 

bendev

XLDnaute Nouveau
Re : VBA Excel : Recuperation des valeurs distinctes d'une colonne

c'est bon j'ai trouvé comment recuperer des valeurs dans la derniere ligne

Dim MaLigne As Variant
Dim ColA As String
MaLigne = Range("A1").End(xlDown).Address
MaLigne = Range(MaLigne).Row
ColA = Range("A" & MaLigne).Value

Me manque encore à trouver comment ecrire dans le fichier

Merci
 

Statistiques des forums

Discussions
312 168
Messages
2 085 907
Membres
103 029
dernier inscrit
ndembi sylver