Bonjour à tous,
Je vous expose mon Pb, j'ai créé une Userform pour rentré des données utilisé dans la Userform,
et je cherche à faire de paramètres de validation avant exécution. C'est la que mon PB ce pose avec seulement des paramètre if/end if ça marche très bien, mais je voudrais que mon Userform ce relance si les paramètre ne sont pas valide.
voici le code effectué après appel simple sur un bouton de ruban par .show
merci de votre aide et de votre temps passé.
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 Private Sub annul_button_Click() Unload Me End Sub Private Sub ligne_fin_Change() End Sub Private Sub ligne_init_Change() End Sub Private Sub ok_button_Click() Dim i As Integer Dim form As String Dim k As Integer Dim l As Integer If ActiveSheet.Name <> "Etude" And ActiveSheet.Name <> "Etude opt" Then MsgBox "Selection non valide pour cette opération", vbCritical Else: k = RechercherLignesDebutOuFin("Deb") l = RechercherLignesDebutOuFin("Fin") Do While (ligne_init = 0 Or ligne_fin = 0) If ligne_init.Value = "" Then GoTo fin If ligne_fin.Value = "" Then GoTo fin If (IsNumeric(ligne_init.Value) = False) Then ligne_init = 0 If (IsNumeric(ligne_fin.Value) = False) Then ligne_fin = 0 If (ligne_init.Value.Value < 0) Or (ligne_init.Value - Int(ligne_init.Value) <> 0) Then ligne_init = 0 If (ligne_fin.Value < 0) Or (ligne_fin.Value - Int(ligne_fin.Value) <> 0) Then ligne_fin = 0 If ligne_init.Value < ligne_fin.Value Then ligne_init = 0 And ligne_fin = 0 If ligne_fin.Value < l Then ligne_fin = 0 If ligne_init.Value > k Then ligne_init = 0 Loop ActiveSheet.Unprotect Application.ScreenUpdating = False form = "O" & ligne_init.Value & "*N" & ligne_init.Value For i = ligne_init.Value + 1 To ligne_fin.Value form = form & "+O" & i & "*N" & i Next i Range("M" & ligne_init.Value - 1).Value = "Ens." Range("N" & ligne_init.Value - 1).Value = 1 Range("O" & ligne_init.Value - 1).Formula = "=round(" & "(" & form & ")" & "/" & "n" & ligne_init.Value - 1 & ",nbarpu)" Range("P" & ligne_init.Value - 1).Value = "=round(" & "O" & ligne_init.Value - 1 & "*" & "n" & ligne_init.Value - 1 & ",2)" Range("P" & ligne_init.Value & ":P" & ligne_fin.Value).ClearContents Range("M" & ligne_init.Value & ":O" & ligne_fin.Value).Font.ColorIndex = 2 Rows(ligne_init.Value & ":" & ligne_fin.Value).Select Selection.Rows.Group Application.ScreenUpdating = True ActiveSheet.Protect Else: MsgBox "Paramètres non valides", vbCritical End If fin: End If Unload Me End Sub
CRDL.
Partager