Recherche verticale avec 2 conditions : valeurs textbox

doudou33

XLDnaute Nouveau
Bonsoir,

Je fais appel à nouveau à vos talents vba. J'ai pourtant cherché durant plusieurs jours mais je bloque. Dans le fichier ci-joint, j'ai une userform avec 4 texbox qui s'affichage en cliquant sur le bouton :

- texbox 1 : saisie de la référence
- textbox 2 : saisie d'un n° de série
- textbox 3 : affichage de la désignation de la référence en automatique
- textbox 4 : saisie du n° de dérogation

Mon besoin est le suivant :

Lorsque que je clique sur le bouton "enregistrer" du userform, une recherche verticale de la référence saisie associée ou pas avec le n° de série saisie (= recherche verticale 2 conditions) vient se positionner sur la ligne et la bonne colonne afin d'enregistrer le n° de dérogation saisie dans la textbox4. La recherche verticale doit pouvoir fonctionner quand même même si le champ du textbox2 est vide. En effet, le n° de série n'est pas toujours obligatoire.

Attention, je souhaite conserver mon codage vba avec les différents tests, notamment l'affichage d'un msgbox "référence non présente".

Ma macro fonctionne uniquement pour la recherche verticale sur la saisie de la référence (1 condition) mais pas avec en plus le n° de série (2ème condition).

Dans le fichier de l'onglet "Feuil1", si je saisie la référence "tintin" avec le n° de série "2525" et comme n° de dérogation "COCA", la valeur "COCA" doit être renvoyée en cellule "J2".

Merci à vous tous encore pour le temps consacré à ma demande.

Salutations
 

Pièces jointes

  • BON.xls
    157 KB · Affichages: 88

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Avec mon système de gestion automatique des ComboBox liés vous n'aurez plus besoin de faire de recherche car il s'agit d'un module de classe à évènements qui vous fournira directement en paramètre à une procédure Private la liste des N° de lignes correspondant à tous les choix.
 

doudou33

XLDnaute Nouveau
Re : Recherche verticale avec 2 conditions : valeurs textbox

Avec mon système de gestion automatique des ComboBox liés vous n'aurez plus besoin de faire de recherche car il s'agit d'un module de classe à évènements qui vous fournira directement en paramètre à une procédure Private la liste des N° de lignes correspondant à tous les choix.

Merci encore mais est ce qu'il n'y a pas une autre solution? Salutations
 

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Pas avec moins de programmation dans l'Userform lui même, et donc pas plus simple une fois admise la complexité interne des modules de service qui ne vous regarde pas puisqu'ils ne sont pas à retoucher.
 

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Bonjour.

Voila votre classeur équipé de ce qu'il faut.
 

Pièces jointes

  • CbxLiésDoudou33.xls
    326.5 KB · Affichages: 103
  • CbxLiésDoudou33.xls
    326.5 KB · Affichages: 117
  • CbxLiésDoudou33.xls
    326.5 KB · Affichages: 125

doudou33

XLDnaute Nouveau
Re : Recherche verticale avec 2 conditions : valeurs textbox

Bonjour,

merci ça fonctionne mais comment faire dans le cas où je n'ai pas de n° de série à préciser et enregistrer par la suite le n° de dérogation?

Merci à vous.
 

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Si vous voulez parler de la Référence, où est le problème exactement ?
Si vous n'en avez pas à préciser pour quelque raison que ce soit eh bien vous n'en précisez pas, c'est tout. Un seul des deux ComboBox suffit à retrouver la ligne s'il n'en existe qu'une qui porte sa valeur choisie ou tapée.
 

doudou33

XLDnaute Nouveau
Re : Recherche verticale avec 2 conditions : valeurs textbox

Bonjour,

Merci ça fonctionne effectivement : UN GRAND MERCI.

Par contre si je souhaite :
- saisir des chiffres dans la combobox"CbxRéf" comment faire car cela ne fonctionne pas
- prendre en compte dans mon listing des références avec des chiffres : le combobox ne prend pas ma sélection d'une référence en chiffres.

Merci beaucoup pour le temps passé.
 

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Bonjour.
Voulez vous dire que lorsqu'il est affiché une ligne où la référence est vide, vous voulez pouvoir en mettre une sans que ça provoque une recherche ? C'est faisable mais il ne sera alors pas vérifié si cette référence n'existe pas déjà ailleurs.
S'il y a déjà un nombre dans la cellule on peut le retrouver, mais pas sous la forme sous laquelle le format le restitue visuellement. Pour pouvoir retrouver des réf avec des espaces et des 0 devant il faut mettre un format de texte sur cette colonne.
 

doudou33

XLDnaute Nouveau
Re : Recherche verticale avec 2 conditions : valeurs textbox

Re bonjour,

merci pour votre réponse. J'ai des références ayant un affcihage personnalisée "0"" ""000"" ""00"" ""000"" ""0". Pour une référence 0 222 22 222 2, la comobobox me l'affiche 222222222! De plus, impossible de la sélectionner.

Je souhaite avoir en affichage du combobox "0 222 22 222 2". Dans le CbxRéf_Change, j'ai mis : CbxRé.Value = Format(CbxRéf.Value, "0"" ""000"" ""00"" ""000"" ""0") mais cela m'affiche 222222222. Avec des textbox cela fonctionne.

Enfin, je vous transmet votre fichier modifié.

Je vous remercie beaucoup car je m'apperçois que je ne maitrise pas les combobox.

Salutations
 

Pièces jointes

  • CbxLiésDoudou33.xls
    314.5 KB · Affichages: 103
  • CbxLiésDoudou33.xls
    314.5 KB · Affichages: 88
  • CbxLiésDoudou33.xls
    314.5 KB · Affichages: 80

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Je ne peux que répéter ce que j'ai dit: au lieu d'y mettre des nombres, mettez dans vos cellules des textes formés de chiffres et d'espaces, et pour cela mettez un format Texte sur la colonne.
 

Dranreb

XLDnaute Barbatruc
Re : Recherche verticale avec 2 conditions : valeurs textbox

Chez moi ça marche. Encore faut il que les cellules contiennent bien le texte et pas les nombres qui y avaient été mis auparavant.

Remarque: s'il est impossible de mettre autre chose en tant que réf que des quantités numériques (ce qui est bizarre pour un élément d'identification) soumises à un format avec des espaces, il y aurait moyen de s'en accommoder en fabriquant un dictionnaire spécial pour ce ComboBox.

P.S. La procédure pour le fabriquer ne serait pas très compliquée :
VB:
Private Sub CL_DicBdDPersoSVP(ByVal CBM As ComboBoxMembre)
Dim T() As Variant, L As Long
T = CL.PlgTablo.Columns("B").Value
For L = 1 To UBound(T)
   If VarType(T(L, 1)) = vbDouble Then T(L, 1) = Format(T(L, 1), "0"" ""000"" ""00"" ""000"" ""0")
   Next L
Set CBM.DicBdD = DictionnArbo(T)
End Sub
Pour qu'elle soit appelée, il suffirait d'enlever ,"B" au CL.Add Me.CbxRéf ' "B" non précisée pour provoquer l'évènement DicBdDPersoSVP
 

Pièces jointes

  • CbxLiésDoudou33.xls
    330.5 KB · Affichages: 92
  • CbxLiésDoudou33.xls
    330.5 KB · Affichages: 81
  • CbxLiésDoudou33.xls
    330.5 KB · Affichages: 88
Dernière édition:

Discussions similaires

Réponses
10
Affichages
206
Réponses
8
Affichages
284

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote