Bonjour à tous,
Dans le développement d'un nouveau module VBA destiné à l'enregistrement des contrôles qualité de mon entreprise je rencontre un problème. Lors de la saisie des résultats du contrôle qualité, l'opérateur rempli un Userform avec plusieurs de TextBox. Suivant le type de produit contrôlé, le valeurs des textboxs sont comparées avec les valeurs limites présentes dans un tableau au format nombre (les valeurs sont des nombres décimaux pas des entiers), afin de déterminer automatiquement si le contrôle qualité est validé ou non. Voici le code :
L'execution de la macro me renvoie une erreur d'incompatibilité de type pour la ligne :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 ' On regarde par rapport à nos critères d'acceptation si le test a été considéré comme accepté ou non verification3 = 1 lignestandard = 0 For i = 4 To 43 If CDbl(ThisWorkbook.Worksheets("Inspection_Standards").Cells(i, 2).Value) = CurrentDiesSize Then lignestandard = i If ThisWorkbook.Worksheets("Inspection_Standards").Cells(i, 3).Value > CDbl(Me.TextBox_InspectionMin.Text) Then verification3 = 0 ElseIf ThisWorkbook.Worksheets("Inspection_Standards").Cells(i, 4).Value < CDbl(Me.TextBox_InspectionMax.Text) Then verification3 = 0 End If If ThisWorkbook.Worksheets("Inspection_Standards").Cells(i, 5).Value < CDbl(Me.TextBox_InspectionOvality.Text) Then verification3 = 0 End If If Me.ComboBox_SurfaceCondition.Text = "failed" Then verification3 = 0 End If End If Next i 'On envoit un rapport d'erreur si CurrentDiesSize ne correspond à aucune valeur du tableau Inspection 'Standard If lignestandard = 0 Then MsgBox "The Size of the dies n°" + Me.TextBox_DiesNumber.Text + "is not a standard size" Application.ScreenUpdating = True Exit Sub End If 'On remplit alors la case result of inspection If verification3 = 0 Then Me.ComboBox_Result.Value = "failed" ElseIf verification3 = 1 Then Me.ComboBox_Result.Value = "passed" End IfJ'avais d'abord essayé de configurer cette macro sans convertir la valeur de mes TextBox en double (sans utiliser CDbl() ), aucun rapport d'erreur ne m'était renvoyé mais les résultats étaient aberrants. Quelqu'un aurait il une idée de comment résoudre ce problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part If ThisWorkbook.Worksheets("Inspection_Standards").Cells(i, 3).Value > CDbl(Me.TextBox_InspectionMin.Text) Then.
Un grand merci,
Mathieu
Partager