Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

alimenter Combobox+tri avec critères

  • Initiateur de la discussion Initiateur de la discussion mikeo
  • 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 !

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

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
 
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+
 
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
 
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.
 
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

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

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
 
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
 
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
 
- 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
17
Affichages
1 K
Réponses
6
Affichages
1 K
K
Réponses
38
Affichages
10 K
kinders59
K
Réponses
4
Affichages
4 K
J
Réponses
11
Affichages
2 K
J
G
Réponses
3
Affichages
2 K
Galaktus
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…