Autres Rechercher dans la zone de texte.

francescofrancesco

XLDnaute Junior
Bonsoir à tout le Forum et meilleurs voeux.
À partir d'une zone de texte, je dois trouver des données et s'il y a une correspondance, remplissez certaines zones de texte placées sur un autre formulaire utilisateur.
Le problème se pose lorsque les données à rechercher sont numériques et composées de deux chiffres.
Évidemment, en utilisant l'événement de modification de la zone de texte, je ne peux pas taper le deuxième chiffre.
 

Pièces jointes

  • ricercadati.xls
    103 KB · Affichages: 21

francescofrancesco

XLDnaute Junior
Bonsoir Francesco,
En ex en PJ.
Je n'utilise plus TextBox1_Change mais CommandButton100_Click.
Ca oblige à appuyer sur "dati" après avoir entré le nombre mais au moins ça marche.
Bonsoir Sylvanu, l'utilisation de Textbox_change crée des problèmes mais la réponse est plus immédiate. En fait, vous pouvez utiliser TextBox17_BeforeUpdate, mais je veux comprendre s'il existe une astuce pour contourner l'obstacle.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re bonsoir,
Je ne vois pas comment, tout seul comme un grand, il va savoir faire la différence entre 5 et 55 !
Comment va t-il comprendre qu'après avoir tapé 5 il va se dire "c'est fini" ou va t-il se dire "j'attends la suite".
Soit toutes vos entrées sont sur un chiffre ou deux chiffres et il va pouvoir savoir si c'est fini, ou alors il y a un ou deux chiffres et il faudra lui dire que c'est fini, soit par Entrée ou soit par "dati".
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Francesco, MaPomme,

@Francesco,
Si vous acceptez que le Code 1 soit 01 ( en texte ) alors la PJ fonctionne.
Le VBA sachant qu'il attend 2 caractères pour le code, au premier caractère il attend le second, au second il traite :
VB:
Private Sub TextBox1_Change()
If Len(UserForm3.TextBox1) = 1 Then
    Exit Sub    ' car un seul caractère
Else
    Traitement  ' traitement car deux caractères entrés.
End If
End Sub
 

Pièces jointes

  • ricercadati.xls
    81 KB · Affichages: 14

patricktoulon

XLDnaute Barbatruc
re bonjour
quel est l’intérêt d'avoir 2 mode d'affichage dans la colonne A? :rolleyes:
pourquoi tu a 01-->05 puis 8 puis après des nombres a 2 chiffres?
soit tu formate tout avec un zero devant 01,02,03,020,025,030,etc...) soit tu formate pas
au pire tu fait plus simple tu formate avec une lettre et zero ex:"c01,c02,c03,c10,c20,c35,etc....
et tu interroge avec le ".text" pour choper la ligne
tu n'aura plus de soucis même avec l'event change le match sera toujours unique jusqu’à "c100"
cela dit effectivement au delà mieux vaut utiliser afterupdate ou un bouton comme cela t'a été indiqué
mais bon en premier lieu normalise ta colonne ce sera plus propre;)
 

patricktoulon

XLDnaute Barbatruc
re
alors sans le zero ;non tu ne peux pas utiliser "change" car il est déclenché a chaque changement
tu veux taper 10 ou 100 tu tape déjà "1" il va ouvrir l'autre userform avec les données de la ligne ou est "1" c'est évident
sans formatage spécifique tu ne peux pas c'est tout ;)
afterupdate ou un bouton
pas compliqué
 

mapomme

XLDnaute Barbatruc
Supporter XLD
que proposez-vous comme formatage spécifique.
Que voulez-vous qu'on vous propose ? C'est vous qui être maître de ce que vous mettez dans les cellules : texte ou nombre.
Si vous y mélangez ce que vous y mettez ou collez (texte ou nombre) alors le code sera plus compliqué.
A priori, mon code essaye de palier le fait que c'est soit du texte soit un nombre.

Mais comme je semble être transparent dans cette discussion :(

edit : bonsoir @Usine à gaz :);).
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 023
Membres
101 873
dernier inscrit
excellllll