Recherche verticale avec 2 conditions : valeurs textbox

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

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

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

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

Dernière édition:
- 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

  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
276
Réponses
16
Affichages
946
Réponses
13
Affichages
941
Retour