Bonjour les amis,
J'ai crée un userform et y afficher des données dans listbox, mais j'arrive pas à supprimer ces données quand j'utilise le bouton "Supprimer". C'est que je souhaite c'est d'ouvrir mon UserForm "Suivi des horaires salaries" selectionner une ligne de mon choix et clic sur bouton "Supprimer" pour supprimer la ligne. Voila! C'est souhait si vous trouverez le truc.
Merci les amis,
Woo22
Bonjour
j'ai du mal à comprendre pourquoi en mettant un tableau structuré tu travaille encore comme un range classique
pourquoi on se retrouve avec un tableaux structuré avec une 15 aines de lignes vides
inscrit en Aout 2016, on est en 2023,tu devrais avoir au moins les bases au sujet des tableaux structurés
bref c'etait tellement désordoné et incohérent que j'ai fait un CTRL+A puis touche suppr dans le module du userform
bref j'ai tout viré
pour y mettre ceci
VB:
'edit All code by patricktoulon
Private Sub BtmAnnuler_Click()
Raz
End Sub
Sub reliste()
ComboMatricule.List = Range("SuiviHoraire[Référence]").Value
ListBox1.List = Range("SuiviHoraire").Value
End Sub
Sub Raz()
TextReference = ""
TextDepartement = ""
TextHA = ""
TextHD = ""
TextNom = ""
TextPrenom = ""
reliste
End Sub
'Procédure permettant de fermer le formulare.
Private Sub BtnFermer_Click()
Unload Me
End Sub
Private Sub BtnSupprimer_Click()
With ListBox1
rep = MsgBox("êtes vous ur de vouloir supprimer :" & .List(.ListIndex, 1) & " " & .List(ListIndex, 2), vbYesNo)
If rep = vbYes Then
Range("SuiviHoraire").ListObject.ListRows(.ListIndex + 1).Delete
End If
End With
TextReference = ""
TextDepartement = ""
TextHA = ""
TextHD = ""
TextNom = ""
TextPrenom = ""
ComboMatricule = ""
reliste
End Sub
Private Sub BtnValider_Click()
With Range("SuiviHoraire").ListObject.ListRows.Add.Range
.Value = Array(TextReference, TextNom, TextPrenom, TextDepartement, CDate(TextDate), TextHA, TextHD)
End With
Me.TextReference = ""
Me.TextDepartement = ""
Me.TextHA = ""
Me.TextHD = ""
Me.TextNom = ""
Me.TextPrenom = ""
Me.ComboMatricule = ""
End Sub
Private Sub ComboMatricule_Change()
Dim Lig As Long
If ActiveControl.Name <> "ComboMatricule" Then Exit Sub
With ComboMatricule
Lig = .ListIndex
If Lig > -1 Then
TextNom = Range("SuiviHoraire[Nom]").Cells(Lig + 1)
TextPrenom = Range("SuiviHoraire[Prenom]").Cells(Lig + 1)
TextDepartement = Range("SuiviHoraire[Département]").Cells(Lig + 1)
TextDate = Range("SuiviHoraire[Date]").Cells(Lig + 1)
TextHA = Range("SuiviHoraire[Heure Arrivée]").Cells(Lig + 1)
TextHD = Range("SuiviHoraire[Heure Départ]").Cells(Lig + 1)
ListBox1.ListIndex = ComboMatricule.ListIndex
Else
ListBox1.ListIndex = -1
Raz
End If
End With
End Sub
Private Sub UserForm_Activate()
reliste
End Sub
Bonjour
j'ai du mal à comprendre pourquoi en mettant un tableau structuré tu travaille encore comme un range classique
pourquoi on se retrouve avec un tableaux structuré avec une 15 aines de lignes vides
inscrit en Aout 2016, on est en 2023,tu devrais avoir au moins les bases au sujet des tableaux structurés
bref c'etait tellement désordoné et incohérent que j'ai fait un CTRL+A puis touche suppr dans le module du userform
bref j'ai tout viré
pour y mettre ceci
VB:
'edit All code by patricktoulon
Private Sub BtmAnnuler_Click()
Raz
End Sub
Sub reliste()
ComboMatricule.List = Range("SuiviHoraire[Référence]").Value
ListBox1.List = Range("SuiviHoraire").Value
End Sub
Sub Raz()
TextReference = ""
TextDepartement = ""
TextHA = ""
TextHD = ""
TextNom = ""
TextPrenom = ""
reliste
End Sub
'Procédure permettant de fermer le formulare.
Private Sub BtnFermer_Click()
Unload Me
End Sub
Private Sub BtnSupprimer_Click()
With ListBox1
rep = MsgBox("êtes vous ur de vouloir supprimer :" & .List(.ListIndex, 1) & " " & .List(ListIndex, 2), vbYesNo)
If rep = vbYes Then
Range("SuiviHoraire").ListObject.ListRows(.ListIndex + 1).Delete
End If
End With
TextReference = ""
TextDepartement = ""
TextHA = ""
TextHD = ""
TextNom = ""
TextPrenom = ""
ComboMatricule = ""
reliste
End Sub
Private Sub BtnValider_Click()
With Range("SuiviHoraire").ListObject.ListRows.Add.Range
.Value = Array(TextReference, TextNom, TextPrenom, TextDepartement, CDate(TextDate), TextHA, TextHD)
End With
Me.TextReference = ""
Me.TextDepartement = ""
Me.TextHA = ""
Me.TextHD = ""
Me.TextNom = ""
Me.TextPrenom = ""
Me.ComboMatricule = ""
End Sub
Private Sub ComboMatricule_Change()
Dim Lig As Long
If ActiveControl.Name <> "ComboMatricule" Then Exit Sub
With ComboMatricule
Lig = .ListIndex
If Lig > -1 Then
TextNom = Range("SuiviHoraire[Nom]").Cells(Lig + 1)
TextPrenom = Range("SuiviHoraire[Prenom]").Cells(Lig + 1)
TextDepartement = Range("SuiviHoraire[Département]").Cells(Lig + 1)
TextDate = Range("SuiviHoraire[Date]").Cells(Lig + 1)
TextHA = Range("SuiviHoraire[Heure Arrivée]").Cells(Lig + 1)
TextHD = Range("SuiviHoraire[Heure Départ]").Cells(Lig + 1)
ListBox1.ListIndex = ComboMatricule.ListIndex
Else
ListBox1.ListIndex = -1
Raz
End If
End With
End Sub
Private Sub UserForm_Activate()
reliste
End Sub
Bonsoir et merci Patricktoulon,
Oui c'est tellement désordonné, j'etais un peu perdu dans la structuration, mais merci pour le module ça marche, super!.
Vous avez posté votre message avec un formatage incorrect pour un forum :
- Le titre du fil doit être explicite (le plus clair possible)et écrit en minuscules
- Pas de titre du style "URGENT", "A L'AIDE",...
- Votre poste doit être rédigé simplement, en minuscules avec un minumum de formatages, pas de posts tout en gras par exemple.
Merci de respecter cet élément qui contribue à la lisibilité du forum.
Profitez en pour relire la charte dans laquelle il est expliqué que cette pratique n'est pas admise sur XLD.