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
| 'Calcul du nombre de ligne remplie
NbLigne = Cells(Rows.Count, 2).End(xlUp).Row - 13
'Nom et prénom du USERFORM
NomIns = TextBox1
PrenomIns = TextBox2
Select Case NbLigne
Case Is = 0 'Si la liste est vide inscrire les données à la ligne 14
Row = 14
GoTo InsererDonnees:
Case Is = 1 'Si la liste n'a qu'une seule entrée
If (StrComp(NomIns, Cells(14, 2), vbTextCompare) = 1) Or _
((StrComp(NomIns, Cells(14, 2), vbTextCompare) = 0) And _
((StrComp(PrenomIns, Cells(14, 3), vbTextCompare) = 1) Or _
(StrComp(PrenomIns, Cells(14, 3), vbTextCompare) = 0))) Then
Row = 15 'Le nouvel employe est placé a la deuxième place
GoTo InsererDonnees:
Else
Row = 14
GoTo InsererDonnees:
End If
Case Is >= 2
For i = NbLigne + 13 To 14 Step -1
If (StrComp(NomIns, Cells(i, 2), vbTextCompare) = 1) Or _
((StrComp(NomIns, Cells(i, 2), vbTextCompare) = 0) And _
((StrComp(PrenomIns, Cells(i, 3), vbTextCompare) = 1) Or _
(StrComp(PrenomIns, Cells(i, 3), vbTextCompare) = 0))) Then
Row = i + 1
GoTo InsererDonnees:
End If
If i = 14 Then
Row = 14
GoTo InsererDonnees:
End If
Next i
End Select
InsererDonnees: 'A ce point, j'ai le numéro de ligne (Row) auquel je dois insérer mon nouvel emoployé
'Si tu veux ma méhode d'insertion, tu n'as qu'à demander
Application.EnableEvents = False |
Partager