Convertir Listbox en textbox et Textbox en Listbox

Bonjour,

J'ai un Userform permettant de valider des compétences divers et variées. ^^

Pour valider les compétences, je sélectionne un nom dans une Listbox et les infos prénom, code du guss arrivent toutes seul avec du VLOOKUP.

Le soucis c'est que quelques fois, il va falloir passer par le code du guss et non par son nom. Du coup j'ai 2 petits OptionButton qui proposent la sélection par Nom ou par Code.

Le soucis c'est que je galère comme un fifou pour trouver comment faire ça...Je m'explique :

Au départ, c'est comme expliqué ci-dessus la sélection par nom est cochée dès l'activation du UserForm.

J'ai donc la listbox par nom et la textbox qui rappatrie les codes.

Quand je clique sur la sélection par code je voudrais que le fonctionnement de ces deux cases s'inverse. La listbox devient une Textbox qui rappatrie les infos automatiquement et la Textbox devient une listbox que je ne sais pas non plus comment paramétrer dans ce cas de figure...

Merci d'avance pour votre aide !!!! =)

Je joins un petit exemple !!

181testselection.zip (12.95 Ko)

Bonsoir Lerbofiwol,

Il te faut ajouter 2 contrôles supplémentaires et les masquer

Puis lors du changement d'option, masquer les initiaux et afficher les nouveaux

Voir fichier joint

A+

Merci nickel je vais essayer demain ça devrait le faire !!!

Bon bah c'est super ton truc sauf une chose !!!! le code pour la liste avec quadrigramme fonctionne mais le private sub change associé ne fonctionne pas. Erreur sur la fonction "match".

Private Sub CbxQuad_Change()
  Dim Lig As Long
  If Me.CbxQuad.Value <> "" Then
    Lig = Application.WorksheetFunction.Match(Me.CbxQuad, Sheets("Feuil1").Range("C:C"))
    Me.TbxNom.Text = Sheets("Feuil1").Range("A" & 2 + Lig)
  Else
    Exit Sub
  End If
End Sub

Bonet bien c'est résolu !!! =) Il y a un problème connu avec cette fonction il faut juste mettre Application.Match =)

Private Sub CbxQuad_Change()
  Dim Lig As Long
  If Me.CbxQuad.Value <> "" Then
    Lig = Application.Match(Me.CbxQuad, Sheets("Feuil1").Range("C:C"))
    Me.TbxNom.Text = Sheets("Feuil1").Range("A" & 2 + Lig)
  Else
    Exit Sub
  End If
End Sub

Re,

lerbofiwol a écrit :

Bonet bien c'est résolu !!! =) Il y a un problème connu avec cette fonction il faut juste mettre Application.Match =)

Désolé, problème avec MATCH et Excel 2007 je suis en 2010 et ça marche

Rechercher des sujets similaires à "convertir listbox textbox"