Signaler

Données cbbox exact [Résolu]

Posez votre question GermPeru 143Messages postés mercredi 7 décembre 2016Date d'inscription 7 août 2017 Dernière intervention - Dernière réponse le 29 déc. 2016 à 23:21 par GermPeru
Bonjour,

J'ai un useform, les données de mes txtbox se charge directement depuis les résultats obtenu depuis une cbbox qui va chercher mes possibilités dans un tableau du classeur.
J'aimerais limiter mes choix dans ma cbobox seulement aux posibilités du tableau, et sans que s'affiche les données dans mes txtbox sans que le resultat de la cbbox soit exact.

mon code:



Private Sub UserForm_Initialize()
    'selection aprobado a l initialisacion du userform
    CbResultado.Value = "APROBADO"

' selection de la feuille et des parametres du tableau
    Set f = Sheets("Datos aprobados")
    choix1 = Application.Transpose(f.Range("d2:d" & f.[d65000].End(xlUp).Row).Value)
    Me.CbNAnalisis.List = choix1
    Me.CbNAnalisis.SetFocus

End Sub

Private Sub CbNAnalisis_Change()

If Me.CbNAnalisis.ListIndex = -1 And IsError(Application.Match(Me.CbNAnalisis, choix1, 0)) Then
   Me.CbNAnalisis.List = Filter(choix1, Me.CbNAnalisis.Text, True, vbTextCompare)
   Me.CbNAnalisis.DropDown
  Else
    CbNAnalisis_Click
  End If
End Sub


'recupere les champs ds l userform
Private Sub CbNAnalisis_Click()
  Set c = f.[D:D].Find(what:=Me.CbNAnalisis)
    If Not c Is Nothing Then
    Me.TxtIDProducto = f.Cells(c.Row, 2)
    Me.TxtProducto = f.Cells(c.Row, 3)
    Me.TxtFVencimiento = f.Cells(c.Row, 11)
    Me.TxtFAnalisis = f.Cells(c.Row, 18)
    Me.TxtFReAnalisis = f.Cells(c.Row, 18)
    Me.TxtPotencia = f.Cells(c.Row, 20)
    Me.TxtBulto = f.Cells(c.Row, 21)
    Me.TxtHumedad = f.Cells(c.Row, 22)
    Me.TxtCodigoBarra = Me.CbNAnalisis.Value & Mid(f.Cells(c.Row, 2), 4, 5)
  End If
End Sub
Afficher la suite 
Utile
+0
plus moins
bonsoir. tu as une question?
GermPeru 143Messages postés mercredi 7 décembre 2016Date d'inscription 7 août 2017 Dernière intervention - 29 déc. 2016 à 22:36
Ce n'est pas ce que veut dire le code par defaut?
J'ai esaayé et cela ne change rien, si je rentre un numero ds ma cb box, qui n'hexiste pas ds mon tableau de base de données il me donne données dans mes txtbox par rapport au numéro le plus proche
Répondre
yg_be 3169Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 23 août 2017 Dernière intervention - 29 déc. 2016 à 22:47
Que veux-tu dire par "Ce n'est pas ce que veut dire le code par defaut? "? Quel code?
  • à 21:21, tu écris "si je rentre un numero qui n existe pas bah ds mes txtbox il va me garde les premieres données qu il ma donné"
  • à 22:36, tu écris, "si je rentre un numero ds ma cb box, qui n'hexiste pas ds mon tableau de base de données il me donne données dans mes txtbox par rapport au numéro le plus proche"

qu'est-ce qui se passe?
Répondre
GermPeru 143Messages postés mercredi 7 décembre 2016Date d'inscription 7 août 2017 Dernière intervention - 29 déc. 2016 à 22:58
Je pensais que par defaut si je ne specifiquait pas, les données de mes textbox resterait vide, mais egalement en specifiant, via le bout de code que tu más envoyé, les textbox prennent une valeur quelque soit la valeur de ma cbbox.
Les 2 msg se referent a la meme chose, quelque soit la valeur de ma cbbox il va m´extraire des données dans mes textbox, je voudrais extraire les données a la condition que la valeur dans ma cbbox soit une valeur existante ma liste.
Jéspere avoir été plus clair, merci pour le temps passé a essayé de me comprendre
Répondre
yg_be 3169Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 23 août 2017 Dernière intervention - 29 déc. 2016 à 23:01
et ainsi:
If Me.CbNAnalisis.ListIndex = -1 And IsError(Application.Match(Me.CbNAnalisis, choix1, 0)) Then 
Me.CbNAnalisis.List = Filter(choix1, Me.CbNAnalisis.Text, True, vbTextCompare) 
Me.CbNAnalisis.DropDown 
   Me.TxtIDProducto = "" 
   Me.TxtProducto = ""
   Me.TxtFVencimiento = "" 
   Me.TxtFAnalisis = ""
   Me.TxtFReAnalisis = "" 
   Me.TxtPotencia = "" 
   Me.TxtBulto = "" 
   Me.TxtHumedad = " 
   Me.TxtCodigoBarra = " 
Else 
   CbNAnalisis_Click 
End If 
End Sub 
Répondre
GermPeru 143Messages postés mercredi 7 décembre 2016Date d'inscription 7 août 2017 Dernière intervention - 29 déc. 2016 à 23:21
cétait donc a cet endroit qu il falait le placé, un bout de code relativement simple qui me sort de la panade! Maintenant il ne m´indique les données dans les text box seulemnt lorsqu'il y a "match" entre mes données etle numéro écrit ds ma cbbox
Merci !
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !