Excel VB = ComboBox

Fermé
Getz_v Messages postés 44 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 17 juin 2008 - 17 juin 2008 à 10:08
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 17 juin 2008 à 10:23
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! ;)
A voir également:

2 réponses

Getz_v Messages postés 44 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 17 juin 2008 2
17 juin 2008 à 10:12
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
17 juin 2008 à 10:23
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