Microsoft 365 Supprimer un élément d'une liste déroulante après l'avoir choisi

pompaero

XLDnaute Impliqué
Bonjour le forum,

J'essai depuis un moment de construire ce petit fichier d'enregistrement des séances d'entrainements.
Sur le formulaire UsfEmargement j'essai de reproduire le principe des listes déroulante que j'ai fais pour test, sur l'onglet MC-For. C'est à dire supprimer un élément de la liste après l'avoir choisi.
Quelqu'un peut-il venir à mon secours ??
Le fonctionnement final serait de rentrer les données sur le formulaire puis les enregistrer sur l'onglet MC_For qui sera ensuite archivé en pdf et en parallèle les données iront également dans l'onglet BDD_MC qui sera la base pour pouvoir créer des statistique et graphique.

Autre petit détail, comment faut il faire pour que le texte de la Combo "CbPeriodicite" s'affiche directement suite à la sélection de la Combo "CbSequence"

Merci par avance à vous tous.
Cdlt pompaero.
 

Pièces jointes

  • PompaeroFormationV0.xlsm
    989 KB · Affichages: 31

Dudu2

XLDnaute Barbatruc
Bonjour,
Y a trop de questions, on s'y perd, le fichier est complexe et on n'a pas de scénario pour se placer dans une situation posant le problème à résoudre. Perso je ne comprends absolument rien à tes demandes multiples, même et surtout en regardant le fichier.
 

pompaero

XLDnaute Impliqué
Bonjour dudu2

Merci tout de même de t'intéresser à mon fil.
Désolé, je comprend et confirme que ça parai complexe même moi je m'y perd et c'est pour cela que je demande de l'aide mais je tiens à y arriver.
Je vais essayer d'expliquer dans le détail le plus claire possible.

L'onglet MC-For est une simulation de test et mise en page pour moi à l'initial pour principalement le fonctionnement des différentes listes déroulante,
1) Liste déroulante en cascade qui concerne (Nature, sélection, périodicité)
2) Liste déroulante qui supprime un élément après l'avoir choisi ( Formateur, évaluateur, formation) dont j'imagine avoir réussi au moins la base du principe attendu.

Maintenant j'aimerai reproduire ce principe de fonctionnement sur le UsfEmargement.
Le point 1, je pense avoir réussi le principe en cascade, mais j'aimerai que la 3ème Combo "Périodicité" s'affiche directement sans cliquer sur la flèche de la liste.
Le point 2, serait d'avoir les combobox en liste multi sélection et d'éviter absolument les doublons sur les 3 listes, car il est impossible par exemple qu'un formateur soit en même temps évaluateur ou participant (stagiaire), idem pour l'évaluateur...
Le Formateur et évaluateur peuvent ne pas être renseignés également (c'est ce que l'on appel chez nous, de l'auto-Formation)
Au final, ces données seront enregistrées dans l'onglet "BDD_MC" pour pouvoir, par la suite, sur une période de notre choix, sortir une présentation individuelle ou collective (avec graphique et autres solutions possibles) du suivi des entrainements.
Et je viens de me rendre compte que j'ai oublié de mettre la fonction des agents sur le formulaire (peut-être l'ajouter dans la liste des 3 combo !! faire 2 colonnes, qu'en penses-tu ?)
J'espère avoir été plus claire dans l'explication :), je sais que ça parai complexe alors sur tout ne pas hésiter à demander si besoin.
Grand merci pour l'aide et je suis certain que l'on va avancer.

Cdlt
pompaero
 

Dudu2

XLDnaute Barbatruc
Ce que tu appelles des "listes déroulantes" dans la feuille MC_For sont apparemment des listes issues de la validation des données. Je ne sais pas comment tu fais pour éliminer de ces listes les éléments choisis, mais comme tu dis avoir réussi, je ne cherche pas à comprendre.

Pour information, on peut mettre des ComboBoxes directement sur la feuille. S'il faut gérer des évolutions dans la liste des items proposés, perso j'aurais choisi les ComboBoxes plutôt que des listes générées par la validation des données. Mais bon c'est ton choix.

j'aimerai que la 3ème Combo "Périodicité" s'affiche directement sans cliquer sur la flèche de la liste.
Pour faire ça, il faut utiliser la méthode .DropDown de la ComboBox:
VB:
Private Sub ComboBox3_Enter()
    Me.ComboBox3.DropDown
End Sub
Cependant dans certains cas, cela ne fonctionne pas. Je ne pense pas que tu sois concerné mais je le mets à tout hasard. Cette méthode fonctionne dans tous les cas.
Code:
Private Sub ComboBox3_Enter()
    Call ComboBoxDropDown
End Sub

'------------------------------------------------------------------
'Sécuriser un ComboBox.DropDown
'Si on passe d'une ComboBox à une autre avec la touche <Tabulation>
'en souhaitant faire un ComboBox.DropDown sur l'évènement
'ComboBox_Enter(), cela ne fonctionnera pas à chaque fois et dépend
'du contexte d'où on vient. Par exemple si on vient d'une ComboBox
'dont la liste est elle-même en DropDown, le ComboBox.DropDown de
'la ComboBox qui a le Focus ne fonctionnera pas.
'Pour garantir l'affichage du ComboBox.DropDown, il faut utiliser
'un SendKeys "{F4}"
'------------------------------------------------------------------
Sub ComboBoxDropDown()
    CreateObject("wscript.shell").SendKeys "{F4}" 'DropDown garanti
End Sub
 

Dudu2

XLDnaute Barbatruc
Le point 2, serait d'avoir les combobox en liste multi sélection
Qu'est-ce que tu entends par liste "multi sélection" ?
Une ListBox permet de faire éventuellement des sélections multiples, mais je ne crois pas que tu fasses référence à ça.

Si tu utilises des ComboBoxes, tu en contrôles la liste à tout moment.
Si un item doit être retiré de la ComboBox B parce qu'il a été choisi dans la ComboBox A, c'est du code simple pour retirer cet item de la liste de B.

Après je ne sais pas quoi retirer de ton texte en tant que problème à résoudre.
 

Dudu2

XLDnaute Barbatruc
Voici un exemple où ComboBox1 et ComboBox2 partagent la même liste.
Sauf que ComboBox2 ne peut pas avoir la même valeur que ComboBox1.
De plus quand on entre dans ComboBox2, la liste s'affiche automatiquement.
 

Pièces jointes

  • ComboBox Exemple.xlsm
    24.8 KB · Affichages: 6

Dudu2

XLDnaute Barbatruc
Ici un exemple ou l'exclusion est réciproque entre les 3 ComboBoxes.
Les 3 listes restent communes mais une valeur choisie dans l'une des ComboBoxes ne peut pas être aussi présente dans une autre, et donc est effacée si présente.
 

Pièces jointes

  • ComboBox Exemple2.xlsm
    25.8 KB · Affichages: 8
Dernière édition:

Dudu2

XLDnaute Barbatruc
J'ai modifié l'exemple du post #6 pour garder la valeur de ComboBox2 si elle est différente de celle de ComboBox1 tout en reconstruisant la liste de ComboBox2 pour exclure la valeur de ComboBox1.

Pour info l'évènement Sub ComboBox1_GotFocus() sur une ComboBox de feuille est équivalent à l'évènement Sub ComboBox1_Enter() dans un UserForm.
 

pompaero

XLDnaute Impliqué
Excuse, je n'ai pas vu tes post plus tot.
Donc, pour répondre à l'ensemble des post,
Oui se sont des listes de validation de données. Avoir réussi, certainement, mais juste pour montrer au plus réaliste possible le principe attendu et mis en place tout ça avec l'aide du forum.
Perso je préfère un formulaire, mais pourquoi pas les combobox directement sur la feuille. la seule interrogation pour moi actuellement est que je n'arrive pas à voir le résultat final de cette présentation.

Pour la 3ème combo (liste en cascade) je test aussitôt ta proposition.

C'est bien Sélection multiple à laquelle je pense.

Pour la suppression d'item, pareil j'arrive pas trop à visualiser un codage car c'et la dessus que je coince.
Du moment que l'on ne peux pas avoir de doublon sur les 3 combo, le résultat sera là, je pense, Non ?
Je ne sais pas si l'idée est bonne, je propose d'ajouter l'item sélectionné directement dans le Listbox (avec le thème de la formation et les autres données du usf) en bas du formulaire et de maitriser les doublons à ce moment là, qu'en penses-tu ?

Sinon, ton dernier fichier exemple se rapproche très près du résultat.
j'avoue, ce fichier est vraiment l'aventure pour moi et toi j'imagine, :)

Merci
 

Dudu2

XLDnaute Barbatruc
Bon, tu n'y arriveras pas, je pense. Je peux essayer de t'aider. J'ai bien acheté le calendrier des pompiers.
Si on peut se connecter sur ton PC (TeamViewer, AnyDesk,...) laisse-moi ton Phone en mail privé, un créneau horaire et je te donnerai les explications en live.
 

pompaero

XLDnaute Impliqué
Bonjour,

Excuse, un peu surpris de la proposition, c'est la 1ère fois que l'on me propose un cour en live, l'idée est intéressante, mais je n'ai pas TeamViewer en plus mon est Bloqué (PC Pro) en téléchargement.
Je m'attendais plutôt à recevoir un fichier, :).
Comment peut-on faire ?
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 499
Messages
2 110 249
Membres
110 711
dernier inscrit
chmessi