Excel VB = ComboBox
Getz_v
Messages postés
44
Statut
Membre
-
Polux31 Messages postés 7219 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<\\_
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
-
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!
-
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