Liste deroulante avec code vba

bennisay

XLDnaute Occasionnel
Bonjour le forum
j ai un tableau facture qui lui manque une liste deroulante dans la colonne C
cette liste a comme caractère si je tappe les premiers lettre de la reference je dois avoir une celection de reference qui commence avec ces lettre pour bien minimiser le tableau vu le nombre important de reference qui contien la base de donnee rederence vous trouverez ci joint mon fichier
et merci
 

Pièces jointes

  • APPLI GOOD BUSINESS RENOVATION 1.xlsm
    247.6 KB · Affichages: 44
  • APPLI GOOD BUSINESS RENOVATION 1.xlsm
    247.6 KB · Affichages: 48
  • APPLI GOOD BUSINESS RENOVATION 1.xlsm
    247.6 KB · Affichages: 51

vgendron

XLDnaute Barbatruc
Re : Liste deroulante avec code vba

Bonjour..
Et dans ton post. il manque juste un peu de ponctuation..
Bref, j'ai lu trois fois, je n'ai rien compris.

sinon. dans ton onglet "Livraison"
colonne A: tu fais Données, validations des données, Liste / =BDD_REFERENCE
et voila. tu as ta liste déroulante
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Liste deroulante avec code vba

Bonjour,

Avec recherche intuitive dans combobox.
La liste du combobox se réduit au fur et à mesure de la frappe des premiers caractères ( ou contenus) de l'item cherché.

Code:
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([C7:C30], Target) Is Nothing And Target.Count = 1 Then
    a = Application.Transpose(Sheets("bdd").Range("liste"))
    Me.ComboBox2.List = a
    Me.ComboBox2.Height = Target.Height + 3
    Me.ComboBox2.Width = Target.Width
    Me.ComboBox2.Top = Target.Top
    Me.ComboBox2.Left = Target.Left
    Me.ComboBox2 = Target
    Me.ComboBox2.Visible = True
    Me.ComboBox2.Activate
    'Me.ComboBox1.DropDown    ' ouverture automatique au clic dans la cellule (optionel)
  Else
    Me.ComboBox2.Visible = False
  End If
End Sub

Private Sub ComboBox2_Change()
 If Me.ComboBox2 <> "" And IsError(Application.Match(Me.ComboBox2, a, 0)) Then
   Me.ComboBox2.List = Filter(a, Me.ComboBox2.Text, True, vbTextCompare)
   Me.ComboBox2.DropDown
 End If
   ActiveCell.Value = Me.ComboBox2
End Sub

Private Sub ComboBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  Me.ComboBox2.List = a
  Me.ComboBox2.Activate
  Me.ComboBox2.DropDown
End Sub

JB
 

Pièces jointes

  • APPLI GOOD BUSINESS RENOVATION 1.xlsm
    252.5 KB · Affichages: 59
  • APPLI GOOD BUSINESS RENOVATION 1.xlsm
    252.5 KB · Affichages: 64
  • APPLI GOOD BUSINESS RENOVATION 1.xlsm
    252.5 KB · Affichages: 57
Dernière édition:

bennisay

XLDnaute Occasionnel
Re : Liste deroulante avec code vba

BONJOUR
merci pour ton aide précieux j ai un ptt probleme
quand j ai copie le code dans mon fichier original
j ai eu un message ( Membre de methode ou de donnees introuvable) et j ai la COMBOBOX2 en bleu
vous avez une idee ?
je copie tt mon code pour voir s il y a une erreur

[Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([C7:C30], Target) Is Nothing And Target.Count = 1 Then
a = Application.Transpose(Sheets("bdd").Range("liste"))
Me.ComboBox2.List = a
Me.ComboBox2.Height = Target.Height + 3
Me.ComboBox2.Width = Target.Width
Me.ComboBox2.Top = Target.Top
Me.ComboBox2.Left = Target.Left
Me.ComboBox2 = Target
Me.ComboBox2.Visible = True
Me.ComboBox2.Activate
'Me.ComboBox1.DropDown ' ouverture automatique au clic dans la cellule (optionel)
Else
Me.ComboBox2.Visible = False
End If
End Sub

Private Sub ComboBox2_Change()
If Me.ComboBox2 <> "" And IsError(Application.Match(Me.ComboBox2, a, 0)) Then
Me.ComboBox2.List = Filter(a, Me.ComboBox2.Text, True, vbTextCompare)
Me.ComboBox2.DropDown
End If
ActiveCell.Value = Me.ComboBox2
End Sub

Private Sub ComboBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox2.List = a
Me.ComboBox2.Activate
Me.ComboBox2.DropDown
End Sub

Private Sub ComboBox58_Change()

End Sub

Private Sub CommandButton1_Click()
Dim msg, style, title

Dim Retour As Integer

With Sheets("LIVRAISON")


'---------------- Impression noir et blanc ou couleur ------------------------
Retour = MsgBox("Voulez-vous une copie couleur : N/O ", vbNoYes + vbCritical)
If Retour = vbNo Then
With ActiveSheet.PageSetup
.BlackAndWhite = True
End With
End If
ActiveSheet.PageSetup.PrintArea = "B2:I55"
'ActiveSheet.PrintPreview
ActiveWindow.SelectedSheets.PrintPreview 'PrintOut copies:=1
End With
End Sub

Private Sub CommandButton2_Click()
UserForm3.Show
End Sub


]
 

bennisay

XLDnaute Occasionnel
Re : Liste deroulante avec code vba

REB BOISGONTIER
Voila comment il ressemble mon fichier original
 

Pièces jointes

  • GOOD BUSINESS 2015 Edition N° 2.xlsm
    292.6 KB · Affichages: 51
  • GOOD BUSINESS 2015 Edition N° 2.xlsm
    292.6 KB · Affichages: 47
  • GOOD BUSINESS 2015 Edition N° 2.xlsm
    292.6 KB · Affichages: 41

bennisay

XLDnaute Occasionnel
Re : Liste deroulante avec code vba

reb
JE suis desole je suis debutant en VBA
j arrive a tt comprendre Il faut que combobox2 ait la propriété MatchEntry à MatchEntryNon


je suis desole je sais pas comment faire cela
je vous ai envoye mon fichier original comme ca vous pourriez bien savoir comment faire passer ce probleme de combobox 2
de plus si vous appuyiez sur la touche NOUVEAUX en haut de ma feuille LIVRAISON je recois un message de blocage
merci de bien vouloir m aider
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Liste deroulante avec code vba

Si on frappe MK dans le combobox en C7, on obtient les ref qui contiennent MK.
Dans l'onglet Développeur, il y a un icône Propriétés

JB
 

Pièces jointes

  • GOOD BUSINESS 2015 Edition N° 2.xlsm
    331.6 KB · Affichages: 51
  • GOOD BUSINESS 2015 Edition N° 2.xlsm
    331.6 KB · Affichages: 62
  • GOOD BUSINESS 2015 Edition N° 2.xlsm
    331.6 KB · Affichages: 83
Dernière édition:

bennisay

XLDnaute Occasionnel
Re : Liste deroulante avec code vba

Bonjour
Merci infiniment pour ton soutien le code marche tres bien
juste une chose la MACRO NOUVEAUX en haut de page de la feuille LIVRAISON avec quoi je réinitialise le bon livraison me donne
un message / [ la méthode paste de la classe worksheet a échoué ]
et dans VBA j ai la phrase [ activesheet.paste ] en jaune
comment debloquer ce code
et merci d avance
 

bennisay

XLDnaute Occasionnel
Re : Liste deroulante avec code vba

bonjour BOISGONTIER le forum

Merci merci bcp tout founctionne parfaitement bien
j ai encore besoin une liste deroulante pour la colonne des depots .colonne D7:D36 FEUILLE LIVRAISON de la façon montrer dans le fichier joint
 

bennisay

XLDnaute Occasionnel
Re : Liste deroulante avec code vba

REB
J ai oublie de mettre le fichier joint
 

Pièces jointes

  • good business liste deroulante.xlsm
    285.1 KB · Affichages: 50
  • good business liste deroulante.xlsm
    285.1 KB · Affichages: 46
  • good business liste deroulante.xlsm
    285.1 KB · Affichages: 43

Discussions similaires

Réponses
12
Affichages
536
Réponses
43
Affichages
2 K

Statistiques des forums

Discussions
312 753
Messages
2 091 667
Membres
105 039
dernier inscrit
rouibi