Vlookup dans Textbox

Louloute34

XLDnaute Nouveau
Bonsoir à tous !

J'ai fouillé un peu partout mais je n'ai pas réussit à faire marcher la recherche automatique dans mon userform. Lorsque je saisie mon code dans ma textbox de taille réduite, le numéro de magasin s'affiche en face, se grise et ne permet plus d’être modifiée.

Avez-vous à une idée qui puisse s'adapter à mon fichier ?

Bien à vous
 

Pièces jointes

  • Tournée.xlsm
    27.1 KB · Affichages: 61
  • Tournée.xlsm
    27.1 KB · Affichages: 58
  • Tournée.xlsm
    27.1 KB · Affichages: 65

youky(BJ)

XLDnaute Barbatruc
Re : Vlookup dans Textbox

Bonsoir,
je te donne les indications que pour le 1er Magasin.
Je pense qu'il sera facile de comprendre et modifier la macro.
Mets la propriété du textbox8 . . . .Enabled=False (et de tous ceux dont tu ne veux pas être modifié)
Code:
Private Sub TextBox3_Change()
If TextBox3 = "" Then TextBox8 = "": Exit Sub
TextBox8 = Application.VLookup(CDbl(TextBox3), Feuil2.[A1:B90000], 2, False)
End Sub
Je pense qu'il n'ai pas utile d'avoir 4 pages pour les tournées cela limiterait les textbox mais cela reste à voir.
Bruno
 

Louloute34

XLDnaute Nouveau
Re : Vlookup dans Textbox

Pour le nombre de pages, je suis en train de voir, mais je penses que tu as raison et je vais remettre des boutons d'option c'est plus beaucoup plus simple.

Ça fonctionne parfaitement et mon projet avance, un grand merci !
 

Louloute34

XLDnaute Nouveau
Re : Vlookup dans Textbox

Par contre est-ce que tu c comment je pourrais bloqué la saisie quand le numéro ne correspond à rien et quand on essaye de saisir le magasin 2 alors que le magasin 1 n'est pas rempli ?
 

Pièces jointes

  • Tournée.xlsm
    31.8 KB · Affichages: 50
  • Tournée.xlsm
    31.8 KB · Affichages: 52
  • Tournée.xlsm
    31.8 KB · Affichages: 46

youky(BJ)

XLDnaute Barbatruc
Re : Vlookup dans Textbox

Mets tous les textbox.enabled=false sauf textbox3
on va utiliser le change du textbox8 pour changer l'enabled
Private Sub TextBox8_Change()
TextBox4.Enabled = IIf(TextBox8 = "", False, True)
End Sub
Faire pareil pour textbox9 - 10 - 11 (pas utile pour le 12)
Finalement j'ai fait dans ton fichier
Bruno
 

Pièces jointes

  • Tournée.xlsm
    34.5 KB · Affichages: 57
  • Tournée.xlsm
    34.5 KB · Affichages: 62
  • Tournée.xlsm
    34.5 KB · Affichages: 59

youky(BJ)

XLDnaute Barbatruc
Re : Vlookup dans Textbox

Voici une autre façon de procéder.
Ici code fait pour le 1er textbox
Code:
Private Sub TextBox3_Change()
TextBox2 = TextBox3.Value
If TextBox3 = "" Then TextBox8 = "": Exit Sub
On Error Resume Next
lig = Application.Match(CDbl(TextBox3), Feuil2.[A1:A10000], 0)
If Not IsNumeric(lig) Or Err > 0 Then
MsgBox "incorrect": TextBox3 = "": Exit Sub
Else
TextBox8 = Feuil2.Cells(lig, 2)
End If
End Sub
Bruno
 

Louloute34

XLDnaute Nouveau
Re : Vlookup dans Textbox

Bonsoir !

J'ai travaillé mon userform avec votre aide, j'ai intégré un textbox.locked pour que l'on ne puisse pas revenir en arrière sans appuyer sur le bouton correction. Mais maintenant je suis bloqué je ne peux pas saisir plus qu'un seul chiffre dans mes cases.

Avez-vous une idée sur mon erreur ?

Cdlt
 

Pièces jointes

  • Tournée (2).xlsm
    39.7 KB · Affichages: 59
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Vlookup dans Textbox

Re,

Peut être avec TextBox3_Exit , tu bloques ta saisie lorsque tu sors de ton TextBox.

VB:
Private Sub TextBox3_Change()
TextBox2 = TextBox3.Value
If TextBox3 = "" Then TextBox8 = "": Exit Sub
On Error Resume Next
lig = Application.Match(CDbl(TextBox3), Feuil2.[A1:A10000], 0)
If Not IsNumeric(lig) Or Err > 0 Then
MsgBox "Magasin inconnu": TextBox3 = "": Exit Sub
Else
TextBox8 = Feuil2.Cells(lig, 2)
End If
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3.Locked = True
End Sub

A essayer

Martial
 

Discussions similaires

  • Question
Microsoft 365 TEXTBOX
Réponses
7
Affichages
331

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 099
Membres
103 116
dernier inscrit
kutobi87