alimenter Combobox+tri avec critères

mikeo

XLDnaute Occasionnel
Bonjour les amis,

Je sors avec Excel mais j'ai des problèmes avec sa soeur (Vba).

Je souhaite alimenter simplement une combobox avec des éléments de la colonne C mais à condition que les éléments correspondants de la colonne A commencent par "401". Pour les comptables, il s'agit de lister les comptes "fournisseurs" par ordre alphabétique.

Merci de votre aide. Prenez votre temps et bonnes Pâques.

Mikeo
 

Pièces jointes

  • combotriee.xls
    24.5 KB · Affichages: 101
  • combotriee.xls
    24.5 KB · Affichages: 100
  • combotriee.xls
    24.5 KB · Affichages: 103

jcdelorient

XLDnaute Nouveau
Re : alimenter Combobox+tri avec critères

Bonjour mikeo,
Une première approche:

Private Sub UserForm_initialize()
For Each cell In Range("A8:A39")
If Left(cell, 3) = "401" Then
ComboBox1.AddItem cell.Offset(0, 2)
End If
Next
End Sub

Par contre suis pas sur d'avoir bien compris, tu veux un tri alpha dans la combobox?

JC
 

fhoest

XLDnaute Accro
Re : alimenter Combobox+tri avec critères

bonjour a vous deux
voici a peu pres la meme chose mais pour le tri alpha et autres je te conseils le site de boigontier qui est tres bien
Formation Excel VBA JB
Code:
Private Sub UserForm_initialize()
'je souhaite alimenter la combobox avec les items de la colonne C
'uniquement si les éléments correspondants dans la colonne A commencent
'par "401". La liste C doit être triée.
Dim c As Range
Dim drligne As Long
drligne = Range("a65000").End(xlUp).Row
For Each c In Range("a8:a" & drligne)
If Left(c.Text, 3) = "401" Then ComboBox1.AddItem c.Offset(0, 2).Text
Next
End Sub
A+
 

mikeo

XLDnaute Occasionnel
Re : alimenter Combobox+tri avec critères

Bonjour jcdelorient, fhoest,

Merci à vous, quand je lis les solutions, je les comprends. Effectivement, je voulais aussi que la liste des fournisseurs soit triée car il risque d'y avoir un certain nombre.

Merci encore,

Mikeo
 

fhoest

XLDnaute Accro
Re : alimenter Combobox+tri avec critères

Re,
Code:
Dim montableau(1000) As String
Private Sub UserForm_initialize()
'je souhaite alimenter la combobox avec les items de la colonne C
'uniquement si les éléments correspondants dans la colonne A commencent
'par "401". La liste C doit être triée.
Dim c As Range
Dim drligne, x As Long
'Dim montableau(1000) As String
drligne = Range("a65000").End(xlUp).Row
For Each c In Range("a8:a" & drligne)
If Left(c.Text, 3) = "401" Then
montableau(x) = c.Text
ComboBox1.AddItem c.Offset(0, 2).Text
x = x + 1
End If
Next
End Sub
Private Sub ComboBox1_Change()
TextBox1 = montableau(ComboBox1.ListIndex)
End Sub
voici le code
A bientôt.
 

mikeo

XLDnaute Occasionnel
Re : alimenter Combobox+tri avec critères

Rebonjour,

Merci fhoest d'avoir passé ton temps un dimanche. Pour le textbox1 ça marche exactement comme je le voulais. Mais si je peux avoir la liste triée dans le combobox, ce serait le top.

Avec ça déjà je peux avancer pas mal.

Mikeo
 

Pièces jointes

  • combotriee.xls
    35.5 KB · Affichages: 94
  • combotriee.xls
    35.5 KB · Affichages: 95
  • combotriee.xls
    35.5 KB · Affichages: 82

fhoest

XLDnaute Accro
Re : alimenter Combobox+tri avec critères

Bonsoir,
voici en retour ton fichier j'ai mis un listview plus bas dans le userform (il faut agrandir le usf pour le voir mais pas le supprimé)
A+
 

Pièces jointes

  • Tricombo.xls
    39.5 KB · Affichages: 116
  • Tricombo.xls
    39.5 KB · Affichages: 121
  • Tricombo.xls
    39.5 KB · Affichages: 113

mikeo

XLDnaute Occasionnel
Re : alimenter Combobox+tri avec critères

Bonjour le forum,
Bonjour Hoest,

Bien que ne ne comprenne pas tout mais la solution que tu as donnée correspond exactement à ma demande. Je te remercie.

Maintenant, je veux profiter de toi et du forum pour aller plus loin. Je désire qu'avec la saisie du fournisseur, d'autres textbox se remplissent automatiquement (voir exemple). Je devine qu'il faut élargir la listview pour récupérer les informations mais je ne vois pas sur quelle ligne agir.

Je veux faire un petit programme de saisie automatique des factures et j'ai pu intégrer une partie de ton travail. Je ne manquerai pas de vous le montrer et de faire appel à vous pour la suite.

A vous lire,

Mikeo
 

Pièces jointes

  • Tricombo.xls
    45 KB · Affichages: 110
  • Tricombo.xls
    45 KB · Affichages: 113
  • Tricombo.xls
    45 KB · Affichages: 117

fhoest

XLDnaute Accro
Re : alimenter Combobox+tri avec critères

Bonjour ,
a vrai dire cela n'a rien a voir avec la listview, c'est juste l'offset de la cellule trouvé en rapport avec la combobox1.text
voici le code a remplacer:
Code:
Private Sub ComboBox1_Change()
For Each c In Range("c8:c" & drligne)
If c = ComboBox1.Text Then
TextBox1.Text = c.Offset(0, -2).Text
TextBox2.Text = c.Offset(0, 1).Text
TextBox3.Text = c.Offset(0, 2).Text
TextBox4.Text = c.Offset(0, 3).Text
End If
Next
End Sub
A bientôt
 

mikeo

XLDnaute Occasionnel
Re : alimenter Combobox+tri avec critères

Bonsoir le Forum, Hoest

C'est parfait et je te remercie. Je reviendrai sur un autre post quand j'aurai avancé un peu plus. Il faut déjà que j'assimile ce que tu m'as appris.

A plus tard.

Mikeo
 

mikeo

XLDnaute Occasionnel
Re : alimenter Combobox+tri avec critères

Bonsoir le Forum, Hoest

C'est parfait et je te remercie. Je reviendrai sur un autre post quand j'aurai avancé un peu plus. Il faut déjà que j'assimile ce que tu m'as appris.

A plus tard.

Mikeo
 

Discussions similaires

Statistiques des forums

Discussions
312 336
Messages
2 087 387
Membres
103 534
dernier inscrit
Kalamymustapha