Gestion listbox éléments supprimés VBA

Fermé
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 - 20 nov. 2022 à 01:59
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 - 20 nov. 2022 à 11:14

Bonjour à tous,

Je développe actuellement une macro Excel utilisant notamment des listbox. Prenons un exemple simple :

l'utilisateur remplit un formulaire et il y a des champs listbox (exemple : conditions d'achats : 30 jours, 30 jours fin de mois, 45 jours fin de mois, etc). L'utilisateur enregistre ses réponses. Les réponses sont stockées dans une feuille excel.

L'utilisateur a la possibilité d'ajouter, de modifier ou de supprimer les éléments de la listbox. Une fois les réponses enregistrées, l'utilisateur a la possibilité de ré-ouvrir le formulaire pour modifier ses réponses. S'il ajoute une nouvelle conditions d'achats (ex : 60 jours), et qu'il choisit cet item, cela fonctionne. Mais si par exemple, il supprime un item, puis ré-ouvre le formulaire et que cet item était utilisé dans ses réponses, le formulaire bugue car la listbox n'est pas capable de retrouver son item dans la liste actualisée.

En effet, pour éviter que l'utilisateur retape sa réponse, lorsqu'il rouvre le formulaire, celui-ci est rempli avec ses réponses précédentes (stockées dans la feuille Excel). La listbox étant actualisée avec les dernières modifications, si l'utilisateur a supprimé un item utilisé dans son formulaire, alors cela coince.

Je sais que la plupart des programmes empêchent les utilisateurs de supprimer des items si ceux-ci ont un historique (pour contourner mon problème justement). Mais avez-vous une idée pour éviter cela ?

J'aimerais que l'utilisateur puisse supprimer un item de la listbox et malgré tout ré-ouvrir le formulaire (pour le consulter par exemple).

Merci par avance pour votre aide,


Linux / Firefox

A voir également:

2 réponses

JCB40 Messages postés 2934 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 27 novembre 2024 463
20 nov. 2022 à 10:29

Bonjour

Quel est l’intérêt d'autoriser un utilisateur à supprimer un item?

Cela n'a plus de sens.

Crdlt


0
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 44
20 nov. 2022 à 11:14

Bonjour,

Cela peut en avoir s'il on veut conserver l'élément qui avait été utilisé à l'époque, mais que l'utilisateur décide qu'il n'aura plus jamais besoin de cet élément (et ne veut donc plus le retrouver les prochaines fois où il remplira un nouveau questionnaire).

Je pense que je vais gérer cela de la manière suivante : si la valeur enregistrée n'est pas dans la listbox, alors c'est que c'est une valeur supprimée. Dans ce cas, la listbox laisse la place à une simple textbox qui va lire la valeur enregistrée et la renvoyer pour que l'utilisateur puisse la lire. Et si l'utilisateur décide de changer l'item enregistrée, alors la listbox réapparaît et ne laisse le choix à l'utilisateur qu'aux valeurs actuellement dans la liste.

Si vous avez des solutions plus simples, je suis preneur,

Merci beaucoup

0