VBA : Doublons dans combobox

Kracter56

XLDnaute Nouveau
Bonjour,

Je suis en train de développer un outil pour un besoin professionnel.
Je suis devant un problème un peu épineux et chiant à résoudre et étant
novice en développement, j'aurai besoin de votre assistance.

J'ai mis en place une combobox dans un userform. Seulement, je me rends
compte que dès que je sélectionne un item dans la liste déroulante, et que je
"reclique" dans cette liste pour refaire un autre choix, la liste se répète et
je me trouve donc avec 2 blocs qui se répètent.

Par contre, j'ai bien ajouté l'instruction userform.combobox1.clear pour réinitialiser
au départ. Tout fonctionne bien sans doublons sauf après avoir sélectionné un item.

Pouvez-vous m'apporter de l'aide svp?

Merci
 

Kracter56

XLDnaute Nouveau
Re : VBA : Doublons dans combobox

Bonjour Pierrot,

Désolé, voici le code.

Dim TACHE As String

cpt = 1

If Saisie_Activ.Professionnel.Value = True Then
n = 1

ElseIf Saisie_Activ.Personnel.Value = True Then
n = 4

ElseIf Saisie_Activ.Autre.Value = True Then
n = 6

Else
MsgBox ("Veuillez séléctionner un type de tache : Professionnel, Personnel ou Autre !!! Merci.")

n = 1
End If


cpt = 1
Do
cpt = cpt + 1
TACHE = Worksheets("DONNEES_MACRO").Cells(cpt, n).Value
Saisie_Activ.ComboBox1.AddItem TACHE
Loop Until TACHE = ""

If Saisie_Activ.ComboBox1.Text = "...ajouter une tache personnelle" Then
Saisie_Activ.Label7.Visible = True
Saisie_Activ.TextBox1.Visible = True
Saisie_Activ.TextBox1.Enabled = True
Saisie_Activ.Btnok.Visible = True
Saisie_Activ.Btnok.Enabled = True
End If

If Saisie_Activ.ComboBox1.Text = "...ajouter une tache non prévue" Then
Saisie_Activ.Label7.Visible = True
Saisie_Activ.TextBox1.Visible = True
Saisie_Activ.TextBox1.Enabled = True
Saisie_Activ.Btnok.Visible = True
Saisie_Activ.Btnok.Enabled = True
End If

ligne = 1

cle = Saisie_Activ.ComboBox1.Text

If Saisie_Activ.Professionnel.Value = True Then
M = 4

Do
ligne = ligne + 1
rechcle = Worksheets("EXT").Cells(ligne, 4).Value
Loop Until cle = rechcle

RECHCLE1 = Worksheets("EXT").Cells(ligne, 3).Value
rechcle2 = Worksheets("EXT").Cells(ligne, 5).Value
rechcle3 = Worksheets("EXT").Cells(ligne, 9).Value
rechcle4 = Worksheets("EXT").Cells(ligne, 10).Value
rechcle5 = Worksheets("EXT").Cells(ligne, 13).Value
rechcle6 = Worksheets("EXT").Cells(ligne, 14).Value
rechcle7 = Worksheets("EXT").Cells(ligne, 15).Value

Saisie_Activ.TextBox2.Value = RECHCLE1
Saisie_Activ.avt.Value = (rechcle2 * 100) & "%"
Saisie_Activ.trreel.Value = rechcle3
Saisie_Activ.hplanif.Value = rechcle4

ElseIf Saisie_Activ.Personnel.Value = True Then

cpt2 = 1

Do
cpt2 = cpt2 + 1
rechcle = Worksheets("Donnees_macro").Cells(cpt2, 4).Value
Loop Until cle = rechcle

Saisie_Activ.TextBox2.Value = Worksheets("Donnees_macro").Cells(cpt2, 3).Value

ElseIf Saisie_Activ.Autre.Value = True Then

cpt3 = 1

Do
cpt3 = cpt3 + 1
rechcle = Worksheets("Donnees_macro").Cells(cpt3, 6).Value
Loop Until cle = rechcle

Saisie_Activ.TextBox2.Value = Worksheets("Donnees_macro").Cells(cpt3, 5).Value

End If

Sachant que :
Userform=Saisie_Activ
Optionbutton=personnel, professionnel, autre

Merci pour votre aide
 

Kracter56

XLDnaute Nouveau
Re : VBA : Doublons dans combobox

Bonjour Robert,

Désolé pour cet enieme oubli :s

C'est le code de la combobox de l'userform que je dois implémenter.
En fait un bouton de commande fait afficher une userform qui propose
3 options (professionnel, personnel, autre => représenté par des cases d'option).

Le choix de l'un d'entre eux initialise ma combobox et en un clic je dois avoir une
liste de choix sans doublons.

Là avec mon code actuel, je vois bien les listes de choix s'initialiser suivant le choix
des différentes options, mais dès que je choisis un item dans la liste et que reclique
sur le combobox pour faire un autre choix, la liste n'est plus unique: je me retrouve
avec plusieurs listes en bloc.

J'espere que c'est assez clair.

Si vous avez besoin de précisions, n'hésitez pas!

Merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : Doublons dans combobox

Bonjour le fil, bonjour le forum,

Dommage vraiment que tu ne fasses pas l'effort de fournir une pièce jointe avec un fichier exemple. J'imagine que ton original est trop lourd ou contient des données confidentielles... Essaie de partir d'un fichier vierge avec la même structure, à peine quelques données et l'userform en question. Il devrait passer et nous permettre de t'aider plus facilement.

Sinon je n'ai vu nulle part le Clear de la Combobox dans ce code. Si tu l'as placé à l'initialisation de l'UserFrom c'est normal qu'à chaque clic dans la combobox ça double celle-ci non ?

J'ai bien compris que du choix de la la colonne correspondait à un bouton d'option (ou case à cocher) et je pense que c'est à ce moment-là que tu aurais dû faire l'alimentation de la combobox. Au clic sur le bouton d'option...

Voilà en espérant t'aider un peu... Si tu deviens moins flemmard et nous propose une pièce jointe je pense que tu auras plus de réponses.
 

Kracter56

XLDnaute Nouveau
Re : VBA : Doublons dans combobox

Bonjour Robert,

Les données étant confidentielles, c'est pour cette raison que je n'ai pas pu
joindre le projet en question.

Mais je viens de trouver la cause du problème grâce à ton tuyau qui m'a mis
la puce à l'oreille! ;)

Apparemment j'avais en quelque sorte répété le code dans la commande
optionbutton_click() et combobox_click() c'est pour cela que je me trouvais
avec 2 blocs de code juxtaposés
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : Doublons dans combobox

Bonjour le fil, bonjour le forum,

En pièce jointe une proposition...

p.s. Fait très attention Kracter mon fichier contient des données confidentielles... Y'en a j'vous jure !
 

Pièces jointes

  • Kracter_v01.xls
    44.5 KB · Affichages: 162

Discussions similaires

Réponses
13
Affichages
413
Réponses
4
Affichages
2 K
Compte Supprimé 979
C

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz