Microsoft 365 Saisie Combobox et recupération valeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eric72

XLDnaute Accro
Bonjour à tous,

Je vous fais part d'un petit souci avec une combobox nommée "NomPlante", celle-ci est alimentée j'aimerais par la colonne "y" dela feuille "Données", j'aimerais que, lorsque une valeur saisie ne fait pas partie de la liste, cette valeur vienne à la suite de la liste et que celle-ci soit triée par ordre alphabétique, j'ai essayé pas mal de code récupéré de ci de là, mais rien y fait.
Est-ce possible et l'un d'entre vous a-t-il la solution.
Merci une nouvelle fois à tous les experts présents sur ce forum, vous êtes géniaux.
Eric
 

Pièces jointes

Bonsoir eric72,
Oups je crois que j'ai posé une colle, serait-ce impossible?
vous êtes géniaux.
Pas du tout impossible mais ça a fait fuir tous ceux qui ne le sont pas :
VB:
Private Sub NomPlante_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim nom$, P As Range
nom = Trim(NomPlante)
If nom = "" Then Exit Sub
Set P = Sheets("Données").Range("Nom")
If Application.CountIf(P, nom) = 0 Then
    If MsgBox("Voulez-vous enregistrer dans la base le nom '" & nom & "' ?", 4) = 6 Then
        NomPlante.RowSource = ""
        P(P.Rows.Count + 1, 1) = nom
        P.CurrentRegion.Sort P, xlAscending, Header:=xlYes 'tri
        NomPlante.RowSource = "Nom"
    End If
    Exit Sub
End If
GenrePlante = Application.VLookup(nom, Sheets("Données").Range("BasePlante"), 3, 0)
GammePlante = Application.VLookup(nom, Sheets("Données").Range("BasePlante"), 4, 0)
End Sub
A+
 

Pièces jointes

Bonjour Aladin, @job75
vous êtes géniaux.
Pas du tout impossible mais ça a fait fuir tous ceux qui ne le sont pas :
1632565335577.gif

Je dois admettre que ce code est parfait
1632566048823.gif
et me permets d'en tirer quelques enseignements en vue de ma géniefication future
1632565992105.gif
.
 
Dernière édition:
La seule subtilité c'est qu'il faut effacer la propriété RowSource avant de modifier la base.
Et oui. Je me suis demandé pourquoi tu remettais le RowSource à vide avant d'ajouter une ligne dans le tableau structuré.
Que se passe-t-il si tu ne le fais pas ? Il ne réactualise pas la liste qu'il ne construit qu'une fois au départ sur le RowSource défini ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
2 K
Compte Supprimé 979
C
Retour