ComboBox VBA

Résolu
jodan83 Messages postés 3 Date d'inscription vendredi 10 juin 2011 Statut Membre Dernière intervention 30 juin 2011 - 30 juin 2011 à 12:32
jodan83 Messages postés 3 Date d'inscription vendredi 10 juin 2011 Statut Membre Dernière intervention 30 juin 2011 - 30 juin 2011 à 19:08
Bonjour,
Je développe un utilitaire simple sur VBA/Excel. 2007
Dans un UserForm, j'ai une combobox qui me permet de rechercher des titres à partir d'une base de donnée (dans une feuille Excel). Une fois, le titre sélectionné, des infos complémentaires , s'inscrivent automatiquement dans les textbox correspondantes. Que je renseigne ou modifie à mon gré.
Je voudrai que quand j’ai cliqué sur une ligne de la combo que celle-ci soit désactivée le temps de renseigner mes textbox(ceci par sécurité) et la réactiver à mon gré avec un bouton de validation de modif.
mais je n'y arrive pas, comment faire? La propriété Enabled ne marche pas.
je pas trouvé la solution dans le forum.

merci de bien vouloir m'aider
JoDan

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2011 à 17:11
le principe est le même... et tu devrais savoir t'en inspirer.

Voilà un autre exemple (et ensuite tu seras seul avec toi-même)
Sur un UserForm, une listbox listbox1 et un bouton de commande CommandButton1;
Ce code
Private Sub UserForm_Activate()
 For i = 1 To 3
    ListBox1.AddItem " a" & i
 Next
End Sub
Private Sub CommandButton1_Click()
  ListBox1.Visible = Not ListBox1.Visible
End Sub
Private Sub ListBox1_Click()
  If ListBox1.ListIndex < 0 Then Exit Sub
  MsgBox "tu as choisi l'article " & ListBox1.List(ListBox1.ListIndex) & " et tu ne vois plus la listbox"
  CommandButton1.SetFocus
  DoEvents
  ListBox1.Visible = Not ListBox1.Visible
End Sub


lance ===>> listbox remplie ===>> sélectionne ===>> elle disparaît carrément ===>> clique sur Commandbutton1 ===>> elle réapparait, etc ...
Voilà ! A toi de t'en inspirer et d'installer tes conditions de réapparition là où tu le veux. C'est un jeu d'enfant !

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2011 à 13:41
Bonjour,
ce devrait être quelque chose ressemblant à ceci :


Dim deja as string

Private Sub ComboBox1_Click()
  toto = ComboBox1.ListIndex
  If InStr(deja, "@" & toto & "@") = 0 Then
     deja = deja & "@" & toto & "@"
  Else
    ComboBox1.ListIndex = -1
  End If
End Sub



____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2011 à 13:42
Il ne te manque qu'à y ajouter une variable booléenne et à l'utiliser (essaye seul d'abord)


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2011 à 13:44
Et au fait :
Pourquoi ne pas jouer avec la propriété enabled de ta combo ?
True avant click et False après Click, mais rendue à nouveau True quand travail terminé sur tes textboxes ?
A toi !

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2011 à 13:54
Mais je vois que tu y avais déjà pensé...
C'est vrai, mais elle est alors à utiliser dans l'évènement Change, genre :
Private Sub ComboBox1_Change()
  MsgBox "tu as sélectionné l'article " & ComboBox1.List(ComboBox1.ListIndex)
  ComboBox1.Enabled = False
End Sub


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
jodan83 Messages postés 3 Date d'inscription vendredi 10 juin 2011 Statut Membre Dernière intervention 30 juin 2011
30 juin 2011 à 15:50
merci de toutes vos réponses mais j'ai écrit une c... betise ce n'est pas un comboBox mais une listebox.

désolé, j'attend vos réponses

jodan
0
jodan83 Messages postés 3 Date d'inscription vendredi 10 juin 2011 Statut Membre Dernière intervention 30 juin 2011
30 juin 2011 à 19:08
Merci j'ai essayé cette astuce qui me convient parfaitement, j'ai même mis un label derrière la listbox qui devient visible et qui donne une consigne ce qui m'a permis de supprimer un Msgbox

merci encore de vote réactivité
jodan
0
Rejoignez-nous