Bonjour a tous!
Me voila fasse a un petit probleme : l'utilisateur de ma feuille Excel doit entrer une valeur dans une inputbox et selon celle ci differentes action sont menees. Mon probleme est que systematiquement l'inputbox se re-affiche apres avoir rentre la valeur et je ne comprends absolument pas pourquoi (je suis oblige de valider plusieurs fois pour que la suite de la macro s'effectue)
Voila en PJ ma feuille excel et ci dessous le code utilise :
Pour des raisons de confidentialite du projet j'ai enleve toutes les pages et donnees qui n'entre pas en compte dans ce que j'essaie de faire avec cette macro, vola pourquoi la presentation peut vous sembler etrange!
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 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.Calculation = xlCalculationManual ' Calcul pour les Peltons : If Range("C2") = "Pelton" Then Dim noz noz = InputBox("For now the number of nozzles is " & Range("N2") & " but you can choose a different number, please enter how many nozzles you want and then click Ok", "Turbine type 1") If Range("E2") = "V" Then If noz = 6 Or noz = 5 Then Range("B13").Select ActiveCell.FormulaR1C1 = 5000 End If If noz = 4 Or noz = 3 Then Range("B13").Select ActiveCell.FormulaR1C1 = 4000 End If If noz = 2 Or noz = 1 Then Range("B13").Select ActiveCell.FormulaR1C1 = 2000 End If Else If noz = 3 Then Range("B13").Select ActiveCell.FormulaR1C1 = 500 End If If noz = 2 Then Range("B13").Select ActiveCell.FormulaR1C1 = 400 End If If noz = 1 Then Range("B13").Select ActiveCell.FormulaR1C1 = 200 End If End If End If If Not Application.Intersect(Target, Range("B13")) Is Nothing Then Select Case MsgBox("Is the runner forged?", vbYesNo + vbQuestion, "Turbine type 1") Case vbYes Range("B14").Value = 1.25 * Range("B13").Value Case vbNo Range("B14").Value = Range("B13").Value End Select End If Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub
Merci de votre aide!
Partager