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
|
Private Sub CommandButton2_Click()
Dim Data As Worksheet
Dim USF_List As Range
Dim Cty_Rate As Range
Dim NbList As Integer
Dim NbList2 As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim m As Integer
Dim n As Integer
Dim SRE As Variant
Set Data = ThisWorkbook.Sheets("Data")
Set USF_List = Data.Range("G27")
Set Cty_Rate = Data.Range("G5")
j = 0
k = 0
If (TextBox1.Value <> "" And ComboBox1.Value = "") Or (TextBox6.Value <> "" And ComboBox2.Value = "") Or (TextBox11.Value <> "" And ComboBox3.Value = "") Or (TextBox16.Value <> "" And ComboBox4.Value = "") Or (TextBox21.Value <> "" And ComboBox5.Value = "") Then
TB1 = MsgBox("Inspector Type not Selected", vbOKOnly, "WARNING")
If TB1 = vbOK Then
Exit Sub
End If
End If
Me.Hide
Data.Range("M6") = Data.Range("M6") + 1 'Ici je me sert d'un compteur pour connaitre le nombre d'affichage a réaliser
'Je vais afficher mon Userform pour les données de 1 à 5, puis 1 fois supplémentaire pour les données de 6 à 10, puis 1 fois supplémentaire pour les données de 11 à 15
'et enfin une dernière fois pour la donnée 16 (1 affichage initial puis 3 affichages supplémentaires)
Select Case Data.Range("M6")
Case Is = 1
k = 5
Case Is = 2
k = 10
Case Is = 3
k = 15
Case Is = 4
k = 20
Case Is = 5
k = 25
End Select
For m = 0 To 20 Step 5 'Mise à jour des données issues des premières entrées dans les TextBox après Appui sur le Bouton
USF_List.Offset(k - 5, 0) = NOI_TO_UPDATE.Controls("TextBox" & 1 + m).Value
USF_List.Offset(k - 5, 1) = NOI_TO_UPDATE.Controls("TextBox" & 2 + m).Value
USF_List.Offset(k - 5, 1) = Format(USF_List.Offset(k - 5, 1), "mm/dd/yyyy")
USF_List.Offset(k - 5, 2) = NOI_TO_UPDATE.Controls("TextBox" & 3 + m).Value
USF_List.Offset(k - 5, 5) = NOI_TO_UPDATE.Controls("TextBox" & 4 + m).Value
USF_List.Offset(k - 5, 6) = NOI_TO_UPDATE.Controls("TextBox" & 5 + m).Value
USF_List.Offset(k - 5, 4) = NOI_TO_UPDATE.Controls("ComboBox" & 1 + j).Value
k = k + 1
j = j + 1
Next m
For m = 1 To 25
NOI_TO_UPDATE.Controls("TextBox" & m).Value = "" 'Effacement des valeurs dans les TextBox
Next m
Select Case Data.Range("M6")
Case Is = 1
k = 5
Case Is = 2
k = 10
Case Is = 3
k = 15
Case Is = 4
k = 20
Case Is = 5
k = 25
End Select
j = 0
For m = 0 To 20 Step 5 'Entrée des valeurs suivantes dans les TextBox si Nbre de données >5 ou >10 etc..
NOI_TO_UPDATE.Controls("TextBox" & 1 + m).Value = USF_List.Offset(k, 0)
NOI_TO_UPDATE.Controls("TextBox" & 2 + m).Value = USF_List.Offset(k, 1)
NOI_TO_UPDATE.Controls("TextBox" & 2 + m).Value = Format(NOI_TO_UPDATE.Controls("TextBox" & 2 + m).Value, "dd/mm/yyyy")
NOI_TO_UPDATE.Controls("TextBox" & 3 + m).Value = USF_List.Offset(k, 2)
NOI_TO_UPDATE.Controls("TextBox" & 4 + m).Value = USF_List.Offset(k, 5)
NOI_TO_UPDATE.Controls("TextBox" & 5 + m).Value = USF_List.Offset(k, 6)
NOI_TO_UPDATE.Controls("ComboBox" & 1 + j).Value = ""
k = k + 1
j = j + 1
Next m
With Data
NbList2 = .Cells(.Rows.Count, 7).End(xlUp).Row - 26 ' Compte le nombre de NOI de la feuille Data
End With
If Data.Range("M6") = Int(NbList2 / 5) Then
CommandButton2.Visible = False 'Si mon compteur est égal à l'entier de la division de mes données par 5 (Si j'ai 16 donnees à traiter mon compteur sera egal à 3) je masque le bouton que j'ai appelé "Suivant"
End If
NOI_TO_UPDATE.Show
End Sub |
Partager