bonsoir,
j'aurais besoin d'un enorme coup de pouce pr m'aider à resoudre ce probleme svp,
j'ai une listview à 4 colonnes avec la date de l'absences, le type de l'absences, si c'est une demi journée ou non et l'etat (validé, demande...) et un textbox avec le nom de l'employé.
Mes données de la listview s'affiche en fonction de l'employé, ce que je souhaiterais faire c'est que l'on puisse supprimer une date en selectionnant dans la listview et qu'elle soit supprimée dans la feuille de l'employé.
Il faut donc prendre en compte le fait que pour une meme date il peut y avoir plusieurs types d'absences vu que je fonctionne en demi jr. dc voici mon code sur lequel j'etais parti je recherche la date puis je verifie que le type d'absences et le demi jr corespond bien a ceux selectionne dans mon listview mais ca ne marche pas il me met soit que la date ne peut pas etre suprimée soit il me supprime une ligne qui n'a rien à voir...
nom = Me.TextBox1
i = ListView1.SelectedItem.Index
'1 element de ma ligne selectionnee qui correspond à la date
Date = ListView1.ListItems(i).Text
type_abs = ListView1.ListItems(i).ListSubItems(1).Text
demi_jr = ListView1.ListItems(i).ListSubItems(2).Text
ThisWorkbook.Activate
Sheets(nom).Visible = True
With Worksheets(nom).Range("b1:b500")
Set c = .Find(Date, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
'j=numero de la ligne trouvée avec la date corespondante
j = c.Row
'si le type d'absences est le meme que ds la listview et idem pour le fait que ce qoit une demi journée alors la ligne est supprimée
If .Range("D" & j).Value = type_abs And .Range("E" & j).Value = demi_jr Then
'supprime la ligne
Rows(j & ":" & j).Delete
MsgBox ("la date a été trouvée")
else
msgbox("la date ne peut pas etre supprimée")
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
merci d'avance pr votre aide
bonne soirée
j'aurais besoin d'un enorme coup de pouce pr m'aider à resoudre ce probleme svp,
j'ai une listview à 4 colonnes avec la date de l'absences, le type de l'absences, si c'est une demi journée ou non et l'etat (validé, demande...) et un textbox avec le nom de l'employé.
Mes données de la listview s'affiche en fonction de l'employé, ce que je souhaiterais faire c'est que l'on puisse supprimer une date en selectionnant dans la listview et qu'elle soit supprimée dans la feuille de l'employé.
Il faut donc prendre en compte le fait que pour une meme date il peut y avoir plusieurs types d'absences vu que je fonctionne en demi jr. dc voici mon code sur lequel j'etais parti je recherche la date puis je verifie que le type d'absences et le demi jr corespond bien a ceux selectionne dans mon listview mais ca ne marche pas il me met soit que la date ne peut pas etre suprimée soit il me supprime une ligne qui n'a rien à voir...
nom = Me.TextBox1
i = ListView1.SelectedItem.Index
'1 element de ma ligne selectionnee qui correspond à la date
Date = ListView1.ListItems(i).Text
type_abs = ListView1.ListItems(i).ListSubItems(1).Text
demi_jr = ListView1.ListItems(i).ListSubItems(2).Text
ThisWorkbook.Activate
Sheets(nom).Visible = True
With Worksheets(nom).Range("b1:b500")
Set c = .Find(Date, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
'j=numero de la ligne trouvée avec la date corespondante
j = c.Row
'si le type d'absences est le meme que ds la listview et idem pour le fait que ce qoit une demi journée alors la ligne est supprimée
If .Range("D" & j).Value = type_abs And .Range("E" & j).Value = demi_jr Then
'supprime la ligne
Rows(j & ":" & j).Delete
MsgBox ("la date a été trouvée")
else
msgbox("la date ne peut pas etre supprimée")
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
merci d'avance pr votre aide
bonne soirée