Bonjour,
Je viens demander votre aide pour un soucis de suppression de données dans des tableaux.
Je vous explique mon problème :
Dans un calendrier, par clic sur une date, je peux soit ajouter une tache, ayant eu lieu ce jour ou qui aura lieu ce jour, ou aller voir dans une ListBox l'ensemble des taches que nous avons écrites avant :
Une fois que les données sont inscrites dans une textBox, un tableau, sur une autre feuille, est rempli avec la date et la tache.
Donc en suivant ce raisonnement, en cliquant de nouveau sur la date souhaitée (dans cet exemple le 15 Novembre) puis sur le bouton de résumé des taches, je vois apparaitre les taches correspondant à cette tache dans le tableau.
Mon bouton supprimir, par fonction, doit supprimer la tache sélectionnée dans la ListBox, et aussi retirer la tache correspondante dans le tableau pour eviter qu'elle ne reaparaisse à l'ouverture suivante.
Mon soucis est que cette opération fonctionne à chaque fois, mais j'obtiens un message d'argument invalide. Les données sont bien supprimées mais cette erreur est présente à chaque fois.
Je vous explique en commentaire mon code ci-dessous.
Pour information la valeur de ListIndex au moment de l'erreur est -1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub CommandButton_Supprimir_Click() 'Cette opération a lieu sur click sur le bouton supprimer Data 'Il s'agit de la fonction definissant Dates comme un Worksheet (Entre autres) For i = 1 To Dates.ListObjects("Dates").ListRows.Count ' Dates est le worksheet où est présent le tableau contenant l'ensemble des dates, et "Dates" est le tableau en question If Dates.ListObjects("Dates").Range(i, 4).Text = Resumo.ListBox_Resumo.Text Then 'La colonne 4 est celle contenant la tache qui est également dans la ListBox, Resumo est le userform, où la ListBox contenant la tache est présente Dates.ListObjects("Dates").ListRows.Item(i - 1).Delete 'Je supprime la ligne entière du tableau Dates correspondant à la tache sélectionnée dans la ListBox Resumo.ListBox_Resumo.RemoveItem (Resumo.ListBox_Resumo.ListIndex) ' Je retire la tache sélectionnée dans la ListBox End If Next i
J'ai la conviction que mon erreur est évidente et facile à corriger mais je ne réussis pas malgré mes modifications à la trouver.
Si l'un de vous peut m'aiguiller ou m'expliquer mon erreur, je suis preneur
Je m'excuse d'avance en cas d'incompréhension et je suis prêt à reexpliquer toute imprécision !
Merci
Partager