Bonjour à tous
Novice en VBA, je suis fier d'avoir pu insérer dans un formulaire sous VBA une fonction vlookup dans un label en fonction de la saisie d'une textbox![]()
J'ai donc deux feuilles dans un classeur. La première est un tableau, sur lequel j'ai un bouton clic qui m'ouvre un formulaire userform à remplir. Lorsque je valide le formulaire, cela alimente mon tableau. Sur la seconde feuille (BDD), j'ai donc une base de données dans laquelle mon formulaire de la feuille 1 va chercher ses éléments.
Voici mon code :
Mais je souhaite faire évoluer cette formule de la facon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 'Alimentation automatique du Label en fonction de textbox Private Sub Textbox_AfterUpdate() If Len(Textbox.Text) = 14 Then 'pour que la recherche vlookup ne se lance que si j'ai bien saisi mes 14 caractères dans la textbox Me.Label.Caption = Application.VLookup(Textbox.Value, Worksheets("BDD").Range("a:d"), 4, False) End If End Sub
1- Si la saisie que j'opère dans ma textbox ne figure pas dans ma feuille BDD, il me renvoi un message d'erreur VBA et je passe en mode débogage ...Je préférerais une messagebox qui me demande de vérifier ma saisie dans la textbox car ce fichier est destiné à des utilisateurs qui ne doivent surtout pas fouiner dans les lignes de code !!!
Il doit y avoir une solution en intégrant un truc du genre If/Then mais je séche sur la syntaxe ...
2 - Je souhaiterais sortir ma feuille BDD du classeur. En effet, cette feuille BDD sera mise à jour régulièrement et disponible sur un serveur (le même que celui qui héberge mon fichier à alimenter mais pas forcément dans le même répertoire). J'ai donc besoin qu'il soit dissocier dans un fichier seul mais cela change tout mon code plus haut n'est ce pas ... Alors comment dois je le modifier ?
Merci pour votre aide
Partager