Enlever ou supprimer les doublons dans ma combobox [Résolu]

cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 25 sept. 2008 à 17:10 - Dernière réponse : cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention
- 26 sept. 2008 à 08:27
bonsoir
voila je voudrais enlever ou supprimer les doublons dans ma combobox,
je sais qu'il faut mettre select DISTINCT mais je ne sais pas ou le placer.
ma base : centre_aéré
ma table : centre_aéré
mon champs : commune_ctr
pourriez m'aiguiller
merci
petchy
Afficher la suite 

Votre réponse

10 réponses

bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 sept. 2008 à 18:42
+3
Utile
http://www.codyx.org/snippet_supprimer-doublons-combobox_374.aspx

http://www.codyx.org/recherche.aspx?r=combobx+sans+doublon
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de bigfish_le vrai
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 sept. 2008 à 17:22
0
Utile
Salut,

vas voir ici tout y est expliqué
Commenter la réponse de bigfish_le vrai
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 25 sept. 2008 à 18:21
0
Utile
Re
je suis en VB6 avec ACCESS
merci quand meme
petchy
Commenter la réponse de cs_petchy
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 sept. 2008 à 18:27
0
Utile
L'utilisation des controles a une ou deux exection pres c'est du pareil au meme entre le VB6 et le VBA !

La syntaxe les methodes les propriétés c'est LA MEME CHOSE !

C'est incroyable cette segregation
Commenter la réponse de bigfish_le vrai
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 sept. 2008 à 18:36
0
Utile
Private

Sub

UserForm_Initialize
()




<code class="vb_keyword1">    Dim
j
As
Integer
    '
Récupère
les
données
de
la
colonne
A...
    For
j
=
1
To
Range
(
"
A65536
"
)
.
End
(xlUp)
.
Row

        ComboBox1
=
Range
(
"
A
"
&amp;
j)
        '
...et
filtre
les
doublons
        If
ComboBox1
.
ListIndex
=
-
1
Then
ComboBox1
.
AddItem
Range
(
"
A
"
&amp;
j)
    Next
j
End
Sub
</code>

<code class="vb_keyword1">
</code>

<code class="vb_keyword1">Déjà que t'es pas capable de trouvé ce type d'info tout seul alors qu'il doit y avoir 1000 exemples rien que sur VBFrance
Alors interesse toi a ce qu'on te donne avant de repondre et n'attend pas systematiquement un truc tout fait !!!
</code>

<code class="vb_keyword1">
</code>

<code class="vb_keyword1">


</code>
Commenter la réponse de bigfish_le vrai
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 sept. 2008 à 18:47
0
Utile
D'ailleur tient regarde les langages associées au code snippet :



Langage :


VB6

,
VBA

Date ajout :
04/06/2008


Posté par Renfield[Liste]


DateMAJ :
04/06/2008


Private Const
CB_FINDSTRINGEXACT As Long = &H158
Private Const LB_FINDSTRINGEXACT As Long = &H1A2
 
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
 
Public Sub AddItem(ByRef voControl As Object, ByRef vsItem As String, Optional ByVal vnIndex As Variant, Optional ByVal vbRemoveDuplicates As Boolean = True)
Dim eMsg As Long
   If LenB(vsItem) Then
       If TypeOf voControl Is VB.ComboBox Then
           eMsg = CB_FINDSTRINGEXACT
       ElseIf TypeOf voControl Is VB.ListBox Then
           eMsg = LB_FINDSTRINGEXACT
       Else
           Err.Raise 5
           Exit Sub
       End If
       If vbRemoveDuplicates Then
           If SendMessage(voControl.hwnd, eMsg, -1, ByVal vsItem) >= 0 Then
               Exit Sub
           End If
       End If
       If IsMissing(vnIndex) Then
           voControl.AddItem vsItem
       Else
           voControl.AddItem vsItem, vnIndex
       End If
   End If
End Sub
Commenter la réponse de bigfish_le vrai
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 25 sept. 2008 à 20:18
0
Utile
Re
c'est pas la peine de s'énerver,car j'avais déja fait une recherche et
c'est vrai qu'il y a pas mal exemples,mais c'est la syntaxe que je n'arrive pas à placer.
pour se qui est du code en VBA je ne pensait que ça pouvais s'adapter au VB6.
voila,donc je vais voir pour le code
merci
petchy
Commenter la réponse de cs_petchy
dedenet2 372 Messages postés vendredi 27 juillet 2007Date d'inscription 22 juillet 2013 Dernière intervention - 25 sept. 2008 à 21:17
0
Utile
Bonjour ,
Bigfish_le vrai , mal dormi à ce que je vois !
A notre age , on ne s'enerve plus.
A++
Commenter la réponse de dedenet2
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 sept. 2008 à 21:38
0
Utile
Y a un peu de ça mais c'est surtout le decalage horaire ... non c'est surtout que je connais un petit peu l'amis petchy et je sais qu'en general il ne pose pas sa question completement. D'ailleur il l'a dit lui meme dans sa derniere reponse :

c'est vrai qu'il y a pas mal exemples,mais c'est la syntaxe que je n'arrive pas à placer.

donc ici le probleme n'est pas directement un probleme de doublon mais bien un probleme de comprehension de syntaxe d'une solution deja trouvé. Autrement dit il aurait été preferable qu'il poste un bout code qui corresponde a peu pres a sont besoin puis qu'il demande de l'aide pour l'adapter. Ce qui m'airait évité de l'envoyer vers quelque chose qui repondait pas a la vrai question. D'ailleur je le sentais venir c'est pour ça que je ne me suis pas attardé sur la réponse. Apres coup sa reponse ma donné raison et c'est sutout ça qui ma enervé.

Voila, desolé !
Commenter la réponse de bigfish_le vrai
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 26 sept. 2008 à 08:27
0
Utile
bonjour
voila,j'ai mis le code de Mortalino,c'est nickel
Private Sub 
NoDupesInCombo(ByRef cbo As ComboBox)
    Dim i As Long, j As Long
    
    For i = 0 To cbo.ListCount - 1
        For j = cbo.ListCount - 1 To i + 1 Step -1
            If cbo.List(i) = cbo.List(j) Then cbo.RemoveItem (j)
        Next j
    Next iEnd Sub' *** Exemple d'appelle :Private Sub Form_Load()
    Call NoDupesInCombo(Me.C1)End Sub

merci à vous
@ plus
petchy
Commenter la réponse de cs_petchy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.