liste déroulante, saisie semi-automatique

  • Initiateur de la discussion Initiateur de la discussion Rachelle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Rachelle

XLDnaute Nouveau
Bonjour !
Je n’est jamais utilisé Excel avant cette semaine. J’ai actuellement en charge de taper tous les devis de ma nouvelle boite, et je veux faire bonne impression!
Je souhaite, dans ma première colonne “descriptif appareillage” pouvoir taper les premières lettres des mots et cliquer sur la suggestion qui me conviens, et par la même en avoir le prix.
J’ai donc sur ma feuille 2, listé tous les appareillages (avec la typo et les couleurs que je souhaites conserver) et en face les prix correspondant.
Avec une formule =RECHERCHEV(B14;tableau_devis;5;0) j’ai réussi à faire apparaitre sur ma feuille 1 une liste déroulante et lier les prix, mais la liste est tellement longue que j’ai du mal à m’y retrouver, et la typographie n’est pas respectée.
J’ai essayé d’y arriver par plusieurs tuto, mais je suis au bout de mes capacités actuel...!
Merci par avance de vos suggestions !
 

Pièces jointes

Bonjour,

Saisie intuitive combobox
On peut frapper un ou plusieurs mots contenus dans le libellé cherché (mult pri e.g. pour prise multimédia)

VB:
Dim Choix1()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([B13:B73], Target) Is Nothing And Target.Count = 1 Then
    Set f = Sheets("parametres")
    Set Rng = f.Range("M2:M" & f.[M65000].End(xlUp).Row)
    Choix1 = Application.Transpose(Rng)
    Me.ComboBox1.List = Choix1
    Me.ComboBox1.Height = Target.Height + 3
    Me.ComboBox1.Width = Target.Width
    Me.ComboBox1.Top = Target.Top
    Me.ComboBox1.Left = Target.Left
    Me.ComboBox1 = Target
    Me.ComboBox1.Visible = True
    Me.ComboBox1.Activate
  Else
    Me.ComboBox1.Visible = False
  End If
End Sub

Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" Then
     mots = Split(Trim(Me.ComboBox1), " ")
     Tbl = Choix1
     For i = LBound(mots) To UBound(mots)
       Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
     Next i
     Me.ComboBox1.List = Tbl
     Me.ComboBox1.DropDown
End If
End Sub

Private Sub ComboBox1_click()
   ActiveCell.Value = Me.ComboBox1
End Sub

Boisgontier
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
562
Réponses
8
Affichages
1 K
Retour