Combobox liste déroulante

Bonjour les Exceliens.

J'ai une liste déroulante d'un plan comptable, et je veux faire une aide à la saisie pour que l'utilisateur puisse mettre seulement 12, par exemple, et dans la liste on lui affiche tous les comptes qui commence par 12.

Et avec tout ça, si possible créer un userform qui simule un pavé de recherche avec numéro compte et libellé pour aider l'utilisateur à choisir son compte.

Ci joint un exemple.

103combobox.xlsx (42.10 Ko)

D'avance merci.

Hichem

Bonjour Hichem, bonjour le forum,

Je t'avoue que je n'ai pas bien compris ce que tu voulais que l'Userform fasse. Surtout n'ayant pas les données que tu montres...

Regarde en pièce jointe ton fichier modifié. Clique sur le bouton, ça ouvre une boite de dialogue. Au fur et a mesure que tu tapes les caractères du numéro, la liste se met à jour en fonction de ceux-ci.

Un double-clic dans un élément de la liste te renvoie sur cet élément dans l'onglet donnees...

Est-ce que ça te convient ?

163hichem-v01.xlsm (26.42 Ko)

Bonjour ThauThème,

Je vous remercie pour votre implication, c'est la userform que je veux.

Mais je souhaite que quand l'utilisateur choisit le compte et le sélectionne, ça doit se mettre dans la zone A1 par exemple, c'est un aide à la recherche comme s'il a choisit un compte parmi une liste déroulante.

Et dans cette zone laisser la possibilité de faire une simple liste déroulante pour saisir un compte ou cliquer sur le bouton de recherche pour faire la recherche du compte en question.

Sinon, techniquement parlant, comment je peux modifier la position du bouton et mettre à jour la liste des données si je veux ajouter un compte par exemple?

Merci pour vos précisions.

hichem

Re,

Toujours pas vraiment tout compris (désolé je n'ai qu'un neurone !). je te propose une version 2 où au double-clic dans un élément de la liste, les valeurs sont renvoyées dans la plage A2:B2 de l'onglet saisie...

84hichem-v02.xlsm (27.84 Ko)

Re,

Je me suis permis de t'envoyer un MP avec mon fichier d'origine pour que tu puisse comprendre le besoin. (la taille du fichier ne permet pas son upload sur le forum)

Merci

Re,

Vraiment désolé Hichem mais je ne réponds pas par mail perso. C'est contraire à l'étique d'un forum d'entre aide car tu te prives de l'aide d'éminents autres membres de ce forum et tu prives de solution un demandeur ayant le même genre de problème que le tien.

Je te conseille donc de créer un fichier avec la même structure que ton original, contenant quelques lignes à peine de données bidons. Tu mets ce fichier sur ce fil ou sur un autre post et là, tu peux m'envoyer un lien vers ce dernier par mail perso. Si j'ai le temps et les compétences j'y jetterai un œil avec plaisir...

Re,

Je comptais présenter la solution dans ce fil là, car c'est en partageant qu'on apprend et je ne voulais pas déroger à l'éthique du forum.

Cela dit, j'ai joint un nouveau fichier comme demandé, et ci joint mes explications :

Quand tu vas ouvrir mon fichier, dans l"onglet "A_remplir" qui consiste à une feuille a remplir par un utilisateur pour saisir son écriture comptable, dans la colonne B14 il existe une liste du plan comptable ou il doit choisir un compte sur toutes les lignes qu'il veux utiliser, avec tout ça, je veux lui faire un pavé de recherche (comme tu l'as si bien fait) pour lui faciliter la recherche des comptes sur chaque ligne.

donc je veux que soit, il clique sur un bouton, mais je vois mal comment il va choisir son compte sur chaque ligne ... ou le plus facile est de cliquer deux fois sur le champs (dans n'importe quelle lignes de la colonne B) pour que le Pavé s'ouvre et sélectionne son compte.

J’espère que c'est plus facile maintenant. au fait il faut juste une simple adaptation de programme pour que ça répond à mon besoin.

D'avance merci.

89template-v3-frs.xlsm (462.52 Ko)

Je vais tester, j'espère que je saurai l'adapter.

Merci

Avec 2 colonnes

Voir PJ

Dim choix1()
Private Sub UserForm_Initialize()
  choix1 = [liste].Value
  Me.ComboBox1.List = choix1
  If Val(Application.Version) > 10 Then SendKeys "{F4}"
End Sub

Private Sub ComboBox1_Change()
   If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, Application.Index(choix1, , 1), 0)) Then
     Dim b()
     tmp = UCase(Me.ComboBox1) & "*"
     j = 0
     For i = LBound(choix1) To UBound(choix1)
       If UCase(choix1(i, 1)) Like tmp Then
         j = j + 1: ReDim Preserve b(1 To 2, 1 To j)
         b(1, j) = choix1(i, 1): b(2, j) = choix1(i, 2)
       End If
      Next i
      If j > 0 Then
        Me.ComboBox1.Column = b
        Me.ComboBox1.DropDown
      End If
    End If
End Sub

Private Sub ComboBox1_click()
    ActiveCell = UCase(Me.ComboBox1)
    ActiveCell.Offset(0, 1) = Me.ComboBox1.Column(1)
    Unload Me
End Sub

Ceuzin

Bonjour,

La recherche intuitive peut se faire sur le compte ou le libellé.

Ceuzin

merci ceuzin

ca à l'air intéressant, mais j'arrive pas à le modifier et le mettre en place sur mon fichier d'origine, as tu un mod op sur comment on créé cette combo ?

Merci

Bonsoir,

  • Alt+F11
  • Insertion/Formualire
  • Boite à outils
  • Créer un combobox
  • Dans la propriété MatchEntry du ComboBox, il faut spécifier frmMatchEntryNone
  • ColumnCount : 2

http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DVSaisieIntuitiveComboBox.xls

Ceuzin

Merci beaucoup je teste et je reviens vers toi.

bonjour,

j'ai essayé de bidouiller comme je peux, et la combobox fonctionne quand je clique deux fois sur un champs de la colonne B, sauf que la elle est affiché tout en haut du coin or moi je veux la mettre au dessus de la colonne B, ou au milieu de la page en haut dans l'espace vide par exemple.

combo

et si possible comment changer le nom de la userform au lieu de "userform2" je metterai "Plan comptable"

ci joint mon fichier.

https://drive.google.com/open?id=0BxZ-1hOyvVezWWxFZVEzeVdZUUE

Faute de taille j'ai du l'uploader sur mon espace drive.

Merci

combo

je me permet de faire un petit up car j'ai trouvé une manip mais qui ne réponds pas au besoin exactement, aufait il existe un attribut qui change la position d'une façon rigide c'est que soit au centre ou en haut ... or moi je veux affiner en le descendant en bas un tout petit peu

userform
Rechercher des sujets similaires à "combobox liste deroulante"