(RESOLU par MAPOMME) RECHERCHE SANS DOUBLAN ( erreur .??)

chaelie2015

XLDnaute Impliqué
Bonjour Forum
ci joint un fichier qui explique mon souci , a savoir
j'ai crée un ComboBox (liste sans doublant et sans vide) QUI FONCTIONNE PARFAITEMENT mais le souci selon l'exemple en fichier joint
si je cherche dans le combobox : marché N° 7 je souhaiterai avoir le résultat Co-Contractant007 MAIS CE N'AI PAS LE CAS ??
puis je avoir votre aide
merci par avance
SALUTATIONS
 

Fichiers joints

Dernière édition:

ted1057

XLDnaute Occasionnel
Re : RECHERCHE SANS DOUBLAN ( erreur .??)

Bonjour,

Je ne sais pas si cela est normal mais tu as deux fois co-contractant 4. En changeant par co-contratant5, cela fonctionne très bien. Je ne sais pas si cela est la réponse
 

chaelie2015

XLDnaute Impliqué
Re : RECHERCHE SANS DOUBLAN ( erreur .??)

Bonjour Ted1057
merci d’avoir répondu,
Oui c'est normal d'avoir 02 marché pour même cocontractant.
MERCI.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : RECHERCHE SANS DOUBLAN ( erreur .??)

Bonjour chaelie2015,

Ne renvoie que le premier contractant pour un marché donné :
VB:
Private Sub ComboBox1_Change()
  With ComboBox1
    TextBox1 = ""
    If .ListIndex > 0 Then TextBox1 = Sheets("Feuil1").Columns(1). _
        Find(.List(.ListIndex), Sheets("Feuil1").Range("a1"), _
        xlValues, xlWhole).Offset(, 1)
  End With
End Sub
 

chaelie2015

XLDnaute Impliqué
Re : RECHERCHE SANS DOUBLAN ( erreur .??)

Bonjour Mapomme
merci pour la réponse, c'est exactement ce que je cherchais
PBLM est résolut
SALUTATIONS
 

laetitia90

XLDnaute Barbatruc
Re : (RESOLU par MAPOMME) RECHERCHE SANS DOUBLAN ( erreur .??)

bonjour chaelie :) mapomme:)

une autre facon de l'ecrire

code user

Code:
Dim t(), t1(), i As Long, x As Long, y As Byte, m As Object
Private Sub UserForm_Initialize()
 Set m = CreateObject("Scripting.Dictionary")
 t = Feuil1.Range("a2:B" & Feuil1.Cells(Rows.Count, 1).End(3).Row)
 ReDim t1(1 To UBound(t), 1 To 2)
 For i = 1 To UBound(t)
 If Not m.Exists(t(i, 1)) And t(i, 1) <> "" Then
  m.Add t(i, 1), t(i, 2)
  x = x + 1
  For y = 1 To 2: t1(x, y) = t(i, y): Next y
 End If
 Next i
 ComboBox1.List = t1
End Sub
Private Sub ComboBox1_Change()
 TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 1)
End Sub
 

Discussions similaires


Haut Bas