Afficher des données dans une listbox

Bonjour,

J'ai une listbox qui fonctionne très bien.

J'ai une Combox avec des Nom, quand je recherche un nom qui peuvent être en doublons, j'aimerais qu'il s'affiche sans ma listbox, exemple. J'ai 3x DUPON qui comporte 3 numéro sav différents, exemples DUPON avec le Sav 1000, DUPON avec le sav 1001.

J'aimerais que quand le cherche DUPON dans ma listbox, sa m'affiche dans la listbox tous les DUPON et leur numéro sav qui conserponde.

Je vois joint le fichier pour mieux comprend, car ma listbox fonctionne déjà avec 3 Combox.

j'ai un 2em petit soucis. Que j'expliquerais après avoir résolu celui ci pour pas ce perdre.

Merci à vous,

Ci joint

bonjour

j essaye de télécharge le "Ci joint" et pas de reponse

Bonjour,

ci joint, dessole j'ai oublié mettre le pièce jointe.

Cordialement,

2em petit soucie je l'explique en même temps, quand on fais une recherche STATUT, on vois bien les DUPON dans la liste, mais quand je clique sur DUPON SAV 8001 ou DUPON SAV 8003, le numéro sav ne change pas dans la textox37 (TB37)

Faite le test vous allez vite comprendre.

Merci a vous

73fiche-sav.xlsm (168.68 Ko)

bonjour

pour alimenter la ListBox1 :

Option Explicit
Option Compare Text
Dim Ws As Worksheet
Dim nb As Integer
Dim MyArray() ' declaration en dehors des procedures

Private Sub ComboBox1_Change()
Dim i As Integer

'-----------------------#######-----------------------
'-----------------------#######-----------------------
ListBox1.ColumnCount = 4 'The 1st list box contains 4 data columns
ReDim MyArray(nb, 3)
If ComboBox1.ListIndex = -1 Then
MsgBox "bla bla bla"
Exit Sub
End If
'Load values MyArray
For i = 3 To nb
    If Cells(i, 2) = ComboBox1.Value Then

        MyArray(i - 3, 0) = Range("B" & i)
        MyArray(i - 3, 1) = Range("I" & i)
        MyArray(i - 3, 2) = Range("AK" & i)
        MyArray(i - 3, 3) = Range("AN" & i)

    End If
Next i
'Load ListBox1
ListBox1.List() = MyArray

'-----------------------#######-----------------------
'-----------------------#######-----------------------

End Sub

pour le Click sur la ListBox1 (Récupèrer les infos de l entreés choisis :

2em petit soucie je l'explique en même temps, quand on fais une recherche STATUT, on vois bien les DUPON dans la liste, mais quand je clique sur DUPON SAV 8001 ou DUPON SAV 8003, le numéro sav ne change pas dans la textox37 (TB37)

parce que vous avez ( voir l image ):

TB37.Enabled=False

et ca empeche toute insertion de données

alors je te propose ca : (mais n oublie pas de active "TB37" et la rendre "True")

Private Sub ListBox1_Click()
If ComboBox1.ListIndex = -1 Then
MsgBox "bla bla bla"
Exit Sub
End If
TB37.Value = MyArray(ListBox1.ListIndex, 2) ' voila le role de tableau "MyArray"
'TB7.Value = MyArray(ComboBox1.ListIndex, ...)
'TB6.Value = MyArray(ComboBox1.ListIndex, ...)
'TB....Value = MyArray(ComboBox1.ListIndex, ...)
End Sub

pour la liste des noms sans doublons :

Private Sub UserForm_Initialize()
Dim a, d
Dim i As Integer
Set Ws = Sheets("DTEL")
 'ListBox1.AddItem .Cells(Lig, "A")
'-----------------------#######-----------------------
'Récupère la derniere ligne non vide dans la colonne b
nb = Sheets("DTEL").Range("B" & Rows.Count).End(xlUp).Row

  Set d = CreateObject("Scripting.Dictionary")
  For i = 3 To nb
  d(Ws.Range("b" & i).Value) = ""
  Next i
  a = d.Keys
  Me.ComboBox1.List() = a
'-----------------------#######-----------------------

End Sub

EDTITION !

----------------------#######------------#######----------------

With Sheets("DTEL") ' n oublie pa d ajouter un qualificateur "Sheets("DTEL")"

For i = 3 To nb

If .Cells(i, 2) = ComboBox1.Value Then ' et le point avant "Cells(i, 2) "

MyArray(i - 3, 0) = .Range("B" & i) ' et le point avant range

MyArray(i - 3, 1) = .Range("I" & i) ' et le point avant range

MyArray(i - 3, 2) = .Range("AK" & i) ' et le point avant range

MyArray(i - 3, 3) = .Range("AN" & i) ' et le point avant range

End If

Next i

End With 'et End With

----------------------#######------------#######----------------

2

Merci,

j'ai un erreur ici :

Dim i As Integer erreur : Erreur de compilation, déclaration existante dans la portée en cours.

Option Explicit
Option Compare Text
Dim Ws As Worksheet
Dim nb As Integer
Dim MyArray() ' declaration en dehors des procedures

Private Sub ComboBox1_Change()
Dim i As Integer

'-----------------------#######-----------------------
'-----------------------#######-----------------------
ListBox1.ColumnCount = 4 'The 1st list box contains 4 data columns
ReDim MyArray(nb, 3)
If ComboBox1.ListIndex = -1 Then
MsgBox "bla bla bla"
Exit Sub
End If
'Load values MyArray
For i = 3 To nb
    If Cells(i, 2) = ComboBox1.Value Then

        MyArray(i - 3, 0) = Range("B" & i)
        MyArray(i - 3, 1) = Range("I" & i)
        MyArray(i - 3, 2) = Range("AK" & i)
        MyArray(i - 3, 3) = Range("AN" & i)

    End If
Next i
'Load ListBox1
ListBox1.List() = MyArray

'-----------------------#######-----------------------
'-----------------------#######-----------------------

End Sub

Regarde, j'ai fais ce que tu mas dit, mais sa fonctionne pas, je sais pas si tu as tres bien comprit ?

Je t'explique,

Dans la case recherche NOM, il y a 3 DUPON, avec 3 fiches sav différentes, 8001, 8002, 8003, ce que j'aimerais c'est que quand je recherche DUPON, sa m'affiche dans la listbox tous les DUPON disponible. sachant que chaque fiche sav est différente. DUPON peux venir 3 fois dans l’année, sa m’évite de retaper c'est coordonnées en faite au final.

On verra le2em petit soucie apres. car j'ai essayer avec ton code, depuis ma listbox ne fonctionne plus , sa n'affiche plus les valeurs dans les textbox quand je clique sur un DUPON.

Merci a toi, je te joint ce que j'ai fais avec les codes que tu mas donné.

Pour faire plus simple faut faire exatement comme la combox3, sa recherche devis a faire, sa m'affiche tous les devis, et j'ai tous les nom.

En faite faut faire pareil sur la combox3 pour les nom

30fiche-sav.xlsm (180.95 Ko)

bonjour

SVP essayer ca sur le même fichier joint

Cordialement

74exemple.xlsm (180.86 Ko)

Bonjour,

oui c'est sa, c'est possible de l’intégrer au miens ce code ?

Sachant que la même fonction est pressente sur une autre combox.

Par contre le message : MsgBox "bla bla bla" me sert a rien, j'aimerais que sa sois direct.

Merci

bonjour

alors si ton probleme est résolu, n oublie pas de cliquer sur le bouton résolu

Non du tous, j'ai intégrer ton code dans le miens sa fonctionne pas regarde :

ci joint

59fiche-sav.xlsm (170.08 Ko)

bonjour

AMIR a écrit :

SVP essayer ca sur le même fichier joint

je pense qui l a fonctionne sur le fichier nomme "EXEMPLE" ?!

Sur le fichier exemple sa fonctionne, mais sa me sert a rien si sa fonctionne pas dans mon fichier :/ Fiche_sav

Rechercher des sujets similaires à "afficher donnees listbox"