Bonjour à tous,
J'espère que vous allez bien
J'ai un problème de comparaison de valeur:
J'ai une feuille nommée Base qui est une base de données. J'ai une autre feuille Essai avec un USF et un textbox pour entrer une référence.
Je veux que lorsque je quitte ma textbox en entrant ma référence de type string même si c'est des nombre, la macro parcours ma base de donéne et trouve la correspondance du type de produit (PETRI)
j'ai ce code mais la comparaison ne se fait pas je pense pour la simple et bonne raison que si je mets en exemple 33606, la macro ressrot deux "valeurs différentes"
Code : Sélectionner tout - Visualiser dans une fenêtre à part If Tabl(i, 1) = UserForm1.TextBox1.Value Then
Code : Sélectionner tout - Visualiser dans une fenêtre à part Tabl(i, 1) 'donne pour valeur 33606Je pense que l'erreur vient d'ici...
Code : Sélectionner tout - Visualiser dans une fenêtre à part UserForm1.TextBox1.Value 'donne pour valeur "33606" et non pas 33606
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim Tabl() As Variant Dim AUTOQ As String Dim GENRE As String 'ReDim Tabl(2, 1) 'construction du tableau 'Tabl(0, 0) = 1 Tabl() = ThisWorkbook.Worksheets("Base").Range("A2:I4000").Value 'recherche le n° 2 For i = LBound(Tabl, 1) To UBound(Tabl, 1) If Tabl(i, 1) = UserForm1.TextBox1.Value Then AUTOQ = Tabl(i, 4).Value GENRE = Tabl(i, 3).Value End If Next i If ActiveSheet.Name = "Essai" And GENRE <> "PETRI" Then MsgBox "erreur" Cancel = True End If
Peut être y a-t-il une manière plus simple et plus rapide de faire ce que je veux faire?
Merci de votre aide
Partager