Excel VB = ComboBox

Getz_v Messages postés 44 Statut Membre -  
Polux31 Messages postés 7219 Statut Membre -
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. Getz_v Messages postés 44 Statut Membre 2
     
    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!
    0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    0