Bonjour,
J'ai une feuille "Saisie" sur laquelle je dois permettre à des utilisateurs de remplir des données via un Userform qui s'affiche en faisant un clic droit sur les cellules. Chaque ligne contient des types de données différentes. Par exemple, sur la ligne 10 on doit choisir la marque du véhicule, sur la ligne 11 le nom du concessionnaire, etc. Donc quand on fait clic droit dans une cellule de la ligne 10, il affiche un Userform avec la Listbox contenant la liste des marques de voiture, et quand on clic droit sur une cellule de la ligne 11, il affiche le même Userform avec la même Listbox mais qui celle-ci contient la liste des concessionnaires. On fait son choix dans la Listbox, on clique sur le bouton "Valider" et la cellule récupère le texte choisi dans la Listbox.
Le contenu de la Listbox dépend d'un numéro que j'ai mis dans la colonne 2 de la ligne active. Par exemple, si dans la colonne 2 de la ligne active j'ai "24" alors il met dans la Listbox les données présentes dans la colonne 24 de la feuille "Liste".
Voilà pour le contexte.
Mes souhaits :
1) Je souhaite lorsque je clic-droit sur une cellule déjà rempli que la sélection dans la Listbox soit déjà faite en fonction du contenu de la Cellule. Par exemple : Si Cellule=vide, pas de présélection dans la Listbox, Si Cellule = renseigné alors la Sélection de Listbox = Contenu de la Cellule. Cela permettrait à l'utilisateur de garder le même choix sans être obliger de resélectionner dans la Listbox ce qu'il existe déjà dans la Cellule.
2) Dans le même Userform, je souhaite ajouter un Textbox dans lequel on noterait des commentaires. En cliquant sur le bouton "Valider" de L'Userform, le Texte du Textbox se mettrait dans une bulle de commentaire de la cellule sélectionnée.
3) La combinaison entre le 1 et le 2. C'est-à-dire qu'en ouvrant l'Userform via le clic droit de la cellule, la Listbox aurait sa sélection selon le contenu de la cellule mais aussi le Textbox serait alimenté selon le texte du commentaire.
Pour le point 1, j'ai déjà fait plein d'essai mais sans succès dont le code suivant :
Pour le point 2, je n'ai rien trouvé à ce sujet. Peut-être mal cherché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim i As Integer For i = 0 To ListeLB.ListCount - 1 If ListeLB.List(i) = ActiveCell Then ListBox1.ListIndex = i End If Next i
Donc je viens vers vous pour savoir si vous auriez une piste s'il vous plait ?
A bientôt
Partager