Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 suppression de données en listbox

KRUG WOO

XLDnaute Nouveau
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
 

Pièces jointes

  • Vba débutant saisie userform1.xlsm
    30.2 KB · Affichages: 5

patricktoulon

XLDnaute Barbatruc
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
 

Pièces jointes

  • Vba débutant saisie userform1.xlsm
    30.8 KB · Affichages: 6

KRUG WOO

XLDnaute Nouveau
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!.
 

KRUG WOO

XLDnaute Nouveau
Bonsoir,
Bien noté BrunoM45!
 

Discussions similaires

Réponses
18
Affichages
1 K
Réponses
7
Affichages
680
Réponses
4
Affichages
504
Réponses
10
Affichages
700
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…