Bonjour,
Je viens de m’apercevoir que dans mon log, j'avais une sub qui se lancait toute seule a partir d'une autre sub

En cliquant sur le buttonload, j'effectue le code suivant :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
  Private Sub Buttonload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonload.Click
       ' Fichier Excel
        Dim CheminFicher As String
        Dim BoiteDialogue As New OpenFileDialog
        txtDocteur2.Text = txtDocteur.Text
        If AppExcel IsNot Nothing Then
            MessageBox.Show("Excel Worksheet is closing please wait")
            If xlWorkSheetOne IsNot Nothing Then
                xlWorkSheetOne = Nothing
            End If
            If xlWorkbook IsNot Nothing Then
                xlWorkbook.Close()
                xlWorkbook = Nothing
            End If
            AppExcel.Quit()
            AppExcel = Nothing
        End If
 
        With BoiteDialogue
            ' Initialisation de la boite de dialogue
            .Title = "Load Data"
            .InitialDirectory = "\\nas\Calculateur\data\encours\" ' répertoire de l'application
            .Filter = "Fichiers Excel |*.xls; *.xlsx"
 
            ' vérification de la séléction
            If .ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                CheminFicher = .FileName
            Else
                MessageBox.Show("Aucun fichier Excel séléctionné")
                Exit Sub ' Abandon de la routine
            End If
            'ouvre l'onglet 1 de l'application
            AppExcel = New OXL.Application
            xlWorkbook = AppExcel.Workbooks.Open(CheminFicher)
            xlWorkSheetOne = CType(xlWorkbook.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet)
            AppExcel.Visible = False
 
            'chargement des data en Textbox 
            Dim rng As OXL.Range = Nothing
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 4), Microsoft.Office.Interop.Excel.Range)
            Me.tbDestinaraire.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 6), Microsoft.Office.Interop.Excel.Range)
            Me.txtPRENOM.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 7), Microsoft.Office.Interop.Excel.Range)
            Me.txtNOM.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 8), Microsoft.Office.Interop.Excel.Range)
            Me.TxtNAISSANCE.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 10), Microsoft.Office.Interop.Excel.Range)
            Me.Txtpseudo.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 14), Microsoft.Office.Interop.Excel.Range)
            Me.Txtrelift.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 15), Microsoft.Office.Interop.Excel.Range)
            Me.Txtother.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 6), Microsoft.Office.Interop.Excel.Range)
            Me.ADD.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 16), Microsoft.Office.Interop.Excel.Range)
            Me.Ageexcel.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 2), Microsoft.Office.Interop.Excel.Range)
            Me.S.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 3), Microsoft.Office.Interop.Excel.Range)
            Me.C.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 4), Microsoft.Office.Interop.Excel.Range)
            Me.AXE.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 5), Microsoft.Office.Interop.Excel.Range)
            Me.DVA.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 7), Microsoft.Office.Interop.Excel.Range)
            Me.NVA.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 8), Microsoft.Office.Interop.Excel.Range)
            Me.SC.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 9), Microsoft.Office.Interop.Excel.Range)
            Me.CC.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 10), Microsoft.Office.Interop.Excel.Range)
            Me.AC.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 14), Microsoft.Office.Interop.Excel.Range)
            Me.K1.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(16, 15), Microsoft.Office.Interop.Excel.Range)
            Me.K2.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 2), Microsoft.Office.Interop.Excel.Range)
            Me.QIRIGHT.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 10), Microsoft.Office.Interop.Excel.Range)
            Me.QILEFT.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 9), Microsoft.Office.Interop.Excel.Range)
            Me.PACHY.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 8), Microsoft.Office.Interop.Excel.Range)
            Me.ACD.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 7), Microsoft.Office.Interop.Excel.Range)
            Me.AL.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 4), Microsoft.Office.Interop.Excel.Range)
            Me.Pupilphoto.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 5), Microsoft.Office.Interop.Excel.Range)
            Me.Pupilmeso.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 6), Microsoft.Office.Interop.Excel.Range)
            Me.Pupilmax.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(22, 16), Microsoft.Office.Interop.Excel.Range)
            Me.TextBoxosod.Text = CType(rng.Value, String)
 
            rng = CType(Me.xlWorkSheetOne.Cells(10, 3), Microsoft.Office.Interop.Excel.Range)
            If Not txtDocteur.Items.Contains(rng.Value) Then
                txtDocteur.Items.Add(rng.Value)
                txtDocteur2.Text = txtDocteur.Text
            End If
            txtDocteur.SelectedItem = (rng.Value)
            txtDocteur2.Text = txtDocteur.Text
 
            'calcul de addage
            Select Case Convert.ToInt16(Ageexcel.Text)
                Case Is <= 40
                    VALaddage = 1.0    '  - de 40 ans : 1.00
                Case 41
                    VALaddage = 1.1    '  41 ans : 1.10
                Case 42
                    VALaddage = 1.2    '  42 ans : 1.20
                Case 43
                    VALaddage = 1.3    '  43 ans : 1.30
                Case 44
                    VALaddage = 1.4    '  44 ans : 1.40
                Case 45
                    VALaddage = 1.5    '  45 ans : 1.50
                Case 46
                    VALaddage = 1.6    '  46 ans : 1.60
                Case 47
                    VALaddage = 1.7    '  47 ans : 1.70
                Case 48
                    VALaddage = 1.8    '  48 ans : 1.80
                Case 49
                    VALaddage = 1.9    '  49 ans : 1.90
                Case 50
                    VALaddage = 2.0    '  50 ans : 2.00
                Case 51
                    VALaddage = 2.1    '  51 ans : 2.10
                Case 52
                    VALaddage = 2.2    '  52 ans : 2.20
                Case 53
                    VALaddage = 2.3    '  53 ans : 2.30
                Case 54
                    VALaddage = 2.4    '  54 ans : 2.40
                Case 55
                    VALaddage = 2.5    '  55 ans : 2.50
                Case 56
                    VALaddage = 2.6    '  56 ans : 2.60
                Case 57
                    VALaddage = 2.7    '  57 ans : 2.70
                Case 58
                    VALaddage = 2.8    '  58 ans : 2.80
                Case 59
                    VALaddage = 2.9    '  59 ans : 2.90
                Case 60
                    VALaddage = 3.0    '  60 ans : 3.00
                Case Is > 60
                    VALaddage = 3.0    '  > 60 ans : 3.00
            End Select
            addage.Text = VALaddage.ToString("0.00")
 
            'Calcul de Qref = QFPROP anticipe pour calcul de QI Essential 
            Select Case Convert.ToInt16(Ageexcel.Text)
                Case Is < 40
                    valQFREF = -0.8 '   De 0 à 40 ans : -0.80
                Case 40 To 41
                    valQFREF = -0.9 '   De 40 à 41 ans : -0.90
                Case 42 To 43
                    valQFREF = -0.95 '  De 42 à 43 ans : -0.95
                Case 44 To 46
                    valQFREF = -1.0 '   De 44 à 46 ans : -1.00
                Case 47 To 52
                    valQFREF = -1.05 '  De 47 à 52 ans : -1.05
                Case 53 To 56
                    valQFREF = -1.1  '  De 53 à 56 ans : -1.10
                Case 57 To 62
                    valQFREF = -1.15   'De 57 à 62 ans : -1.15
                Case 63 To 70
                    valQFREF = -1.2 '   De 63 à 66 ans : -1.20
                Case Is > 70
                    valQFREF = -1.25 '  De 67 à plus : -1.25
            End Select
            QFREF.Text = valQFREF.ToString("0.00")
 
            'calcul de Qefficient = QIE = QFREF X (addAge – add) / addAge
            'ValQIE = VALaddage - VALADD
            'QIE.Text = ValQIE.ToString("0.00")
 
            'cas de traitement pseudophake
            If Txtpseudo.Text = "Y" Then
                Pseudo.Checked = True
                Pseudo.ForeColor = Color.Lime
            Else
                Pseudo.Checked = False
                Pseudo.ForeColor = Color.White
            End If
 
            'cas de relift
            If Txtrelift.Text = "N" Then
                relift.Checked = False
                relift.ForeColor = Color.White
            Else
                relift.Checked = True
                relift.ForeColor = Color.LimeGreen
            End If
 
            'cas de other
            If Txtother.Text = "N" Then
                Other.Checked = False
                Other.ForeColor = Color.White
            Else
                Other.Checked = True
                Other.ForeColor = Color.LimeGreen
            End If
            CloseAppExcel()
            System.Threading.Thread.Sleep(2000)
            Dim dossierDest As String = "\\nas\calculateur\data\traites"
            Dim nomFichierCourt As String = System.IO.Path.GetFileName(CheminFicher)
            Dim cheminCompletFichierDest = System.IO.Path.Combine(dossierDest, nomFichierCourt)
            If System.IO.Directory.Exists(dossierDest) Then
                If System.IO.File.Exists(cheminCompletFichierDest) Then
                    System.IO.File.Delete(cheminCompletFichierDest)
                End If
                System.IO.File.Move(CheminFicher, cheminCompletFichierDest)
            End If
        End With
        UOZMAX.Text = ""
        UOZMIN.Text = ""
        UOZMEAN.Text = ""
        Calcul.Focus()
    End Sub
autrement dit, par appui sur load, j'ouvre un fichier excel, je charge les valeurs contenues dans ses cellules dans mon formulaire, j'effectue quelques calculs, je ferme le fichier excel et je le transfère sur "\\nas\calculateur\data\traites", je mets UOZMAX, MIN et MEAN à "" et je donne le focus au bouton Calcul

voici le debut du code du bouton calcul :
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
  Private Sub Calcul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calcul.Click
        Erreurmessage()
        If txtNOM.Text = "" Then txtNOM.Text = "XXXXXXXXXXXXX"
        If txtPRENOM.Text = "" Then txtPRENOM.Text = "XXXXXXXXXXXXX"
        If erreur = True Then calculok = False : Exit Sub
        Initialisationcouleurtextbox()
        LabelHEHN.Visible = False
        RectangleShapeHEHN.Visible = False
        If Pseudo.Checked = True Then
            Pseudo.Checked = True
            Pseudo.ForeColor = Color.LimeGreen
        Else
.
.
.
Ce que je ne comprends pas, c'est que lorsque j'appuie sur le button load, il effectue bien son code MAIS dans la foulée, il lance automatiquement la sub Calcul

J'ai cherché partout sans trouver ce qui pourrait expliquer cela. Voyez vous quelque chose dans la sub Buttonload qui choque et qui m’échapperais ?
Merci beaucoup