Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' ListBox des congé payés
Dim Lig As Long, LigF As Long, Nom As String, Sht As Worksheet
Nom = Me.ComboBox1.Value
Lig = Me.ListBox1.ListIndex
Set Sht = Sheets("SAUVEGARDES_CP")
' On pose la question si on veux supprimer la feuille ou non
If MsgBox("Voulez-vous supprimer la liggne sélectionnée" & vbCrLf _
& "de la feuille : " & Sht.Name & " ?", vbQuestion + vbYesNo, "SUPPRESSION ...") = vbNo Then
Set Sht = Nothing
Exit Sub
End If
' Recherche la première occurence du nom
On Error Resume Next
With Sht.Range("A1:A" & Application.Rows.Count)
LigF = .Find(What:=Nom, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
End With
On Error GoTo 0
' Sort de la procédure si le nom n'a pas été trouvé
If LigF = 0 Then Exit Sub
' On supprime la ligne correspondant à
' Première ligne trouvée pour le nom + ligne sélectionnée dans LISTBOX
Sht.Rows(LigF + Lig).Delete
' Réinitialise l'objet Sht
Set Sht = Nothing
'
' Suppression de la ligne dans la feuille Sauv_Export
Dim IncL As Long
' Incrément de correspondance de ligne
IncL = 0
Set Sht = Sheets("Sauv_Export")
' Recherche la première occurence du nom
On Error Resume Next
With Sht.Range("A1:A" & Application.Rows.Count)
LigF = .Find(What:=Nom, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
End With
On Error GoTo 0
' Si aucune occurence n'a été trouvée, on sort
If Lig = 0 Then Exit Sub
' Sinon, tant que le nom de la ligne est bon
Do While Sht.Range("A" & LigF) = Nom
' Si le type de congé correspond
If Sht.Range("C" & LigF) = "Congé Payé" Then
' Si l'incrémentation de ligne correspond
' à la ligne sélectionnée dans LISTBOX1
If IncL = Lig Then
' On supprime la ligne en question
Sht.Rows(LigF).Delete
' SURTOUT ne pas oublié de sortir de la boucle Do ... Loop
Exit Do
Else
' Si ça ne correspond pas, on incrémente de 1
IncL = IncL + 1
End If
End If
' Incrémente la ligne trouvée
LigF = LigF + 1
Loop
' MEt à jour la liste box
Call ComboBox1_Click
End Sub