Excel VB = ComboBox

Bonjour,
Alors voilà, j'ai une application VB composée d'une combobox (Cbx_List) reliée a une "base de donées" excel (elle contient des données (Pseudonymes)), un bouton "Ajouter" (Btn_Ajout) et une zone de texte (Txt_ListFin) qui permet de concaténer les données choisies dans la combobox.
En résumé, l'utilisateur choisi un pseudo dans la combobox, il clique sur le bouton "Ajouter", et là, le pseudo choisi se place dans la zone de texte, il peut en rajouter d'autre et dans ce cas là, les pseudo seront séparées par " / ".

Mon petit soucis relève en fait de la vérification. Comment puis-je faire pour qu'il ne rajoute pas plusieurs fois le même pseudo ?

-(Voici mon mini code) :

Option Explicit
Const Nom_Feuille = "Data"
Const DbListePseudo = 6
Const ColPseudo = 2

------------------------------------------------------------------------------------------

Private Sub Btn_Ajouter_Click() ' Bouton Ajouter

Dim sCurentPseudo As String

sCurentPseudo = Cbx_List.Text
Txt_ListFin = (Txt_ListFin.Text) & (sCurentPseudo) & (" / ")

End Sub

-----------------------------------------------------------------------------------------

Private Sub UserForm_Initialize() 'Action effectué lors du lancement de l'application

Dim nCurline As Integer

nCurline = DbListePseudo

Do
Cbx_List.AddItem Sheets(Nom_Feuille).Cells(nCurline, ColPseudo)
nCurline = nCurline + 1
Loop Until Sheets(Nom_Feuille).Cells(nCurline, ColPseudo) = ""

End Sub

Merci d'avance pour votre aide! ;)

--
_//>OnLy .@:GK.IND.IND:@. OnLy<\\_

2 réponses

  1. N'hésitez pas à me faire parvenir vos idées car je suis en stage, et j'ai vraiment besoin de votre aide au plus vite.
    Merci beaucoup!
    1. Bonjour,

      Tu pourrais stocker les pseudos choisis dans un tableau et faire un controle avant l'ajout.
      Option Explicit 
      Const Nom_Feuille = "Data" 
      Const DbListePseudo = 6 
      Const ColPseudo = 2 
      Private nb As Integer
      Private tPseudo() As String
      ------------------------------------------------------------------------------------------­ 
      
      Private Sub Btn_Ajouter_Click() ' Bouton Ajouter 
      Dim i As Integer
      Dim sCurentPseudo As String 
      
      i = 1
      sCurentPseudo = Cbx_List.Text
      
      If doesExist(sCurentPseudo) = False Then
         Txt_ListFin = (Txt_ListFin.Text) & (sCurentPseudo) & (" / ") 
         If i > nb Then
             nb = nb + 1
            ReDim Preserve tPseudo(nb)
            tPseudo(nb) = sCurentPseudo
            i = i + 1
         End If
      Else
         MsgBox "Le pseudo " & sCurentPseudo  & " est déjà sélectionné",,"Message"
         Exit Sub
      End If
      
      End Sub 
      
      Private Function doesExist(Byval str As String) As Boolean
      Dim i As Integer
      
         For i = 1 to nb
            If tPseudo(i) = str Then
               doesExist = True
               Exit Function
           End if
         Next i
      
         doesExist = True
      
      End If


      En espérant que ça réponde à tout blème ... il ya surement d'autres solutions.

      ;o)

      polux