Excel et VBA (Nouveau)
Posted: 05 Aug 2007, 10:23
Bonjour à tous !
Je vous explique un peu mon problème...:
Je suis en train de me monter un programme de gestion (pour une entreprise). Je le monte avec Excel, Access et VBA. Mais je suis tombé sur une énorme intérrogation et là-voici:
Dans un Userform, j'ai deux boutons d'options, permettant de mettre un rabais ou de ne pas en mettre. L'utilisateur doit alors cliquer sur Appliquer pour appliquer le rabais. Si l'utilisateur désire mettre un rabais, il clique sur "Facture avec un rabais", et doit alors entrer le code du rabais. Si l'utilisateur entre le code "E10", un label.caption affichera le détail du rabais, un peu comme le fait =RECHERCHEV() de Excel.
Voici une belle image pour les visuels (lles):

C'est là mon problème:
lorsque je clique dans le textbox RAISON (dans mon code, il s'apelle Textbox1), et que je n'écrit rien, et que je sort du textbos, j'ai une erreur qui se produit, en me disant:
Impossible de lire la propriété VLookUp de la classe WorkSheetFunction.
Dans le fond, lorsque je sort de la textbos, mon Userform cherche automatiquement la valeur reliée au code entré. Mais s'il n'y a aucun code d'entré, il plante, car il ne sais pas qu'il ne doit pas chercher........
Voici mon code de ce UserForm, pour mieux comprendre:
Donc c'est ça, est-ce que quelqu'un pourrait m'aider à faire comprendre à Excel que si le TextBox1 est vide, de ne pas faire la recherche VLookUp ??
Mercii!!!
Je vous explique un peu mon problème...:
Je suis en train de me monter un programme de gestion (pour une entreprise). Je le monte avec Excel, Access et VBA. Mais je suis tombé sur une énorme intérrogation et là-voici:
Dans un Userform, j'ai deux boutons d'options, permettant de mettre un rabais ou de ne pas en mettre. L'utilisateur doit alors cliquer sur Appliquer pour appliquer le rabais. Si l'utilisateur désire mettre un rabais, il clique sur "Facture avec un rabais", et doit alors entrer le code du rabais. Si l'utilisateur entre le code "E10", un label.caption affichera le détail du rabais, un peu comme le fait =RECHERCHEV() de Excel.
Voici une belle image pour les visuels (lles):

C'est là mon problème:
lorsque je clique dans le textbox RAISON (dans mon code, il s'apelle Textbox1), et que je n'écrit rien, et que je sort du textbos, j'ai une erreur qui se produit, en me disant:
Impossible de lire la propriété VLookUp de la classe WorkSheetFunction.
Dans le fond, lorsque je sort de la textbos, mon Userform cherche automatiquement la valeur reliée au code entré. Mais s'il n'y a aucun code d'entré, il plante, car il ne sais pas qu'il ne doit pas chercher........
Voici mon code de ce UserForm, pour mieux comprendre:
Code: Select all
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim code As Variant
Dim raison As Variant
Dim rabais As Variant
code = TextBox1.Text
Sheets("_dta").Activate
raison = WorksheetFunction.VLookup((TextBox1.Text), Range("_escmpt"), 2, False)
rabais = WorksheetFunction.VLookup((TextBox1.Text), Range("_escmpt"), 3, False)
Label4.Caption = raison
pourcentage.Text = rabais
If TextBox1.Text = "n" Or TextBox1.Text = "N" Then
Dim perso As Double
perso = InputBox("Entrez le pourcentage de rabais accordé.")
pourcentage.Text = perso
End If
End Sub
Mercii!!!