Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Saisie Combobox et recupération valeur

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

  • Fiche Produit test.xlsm
    310.7 KB · Affichages: 11

job75

XLDnaute Barbatruc
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

  • Fiche Produit test(1).xlsm
    262.5 KB · Affichages: 14

eric72

XLDnaute Accro
Bonjour Job 75,

Tout d'abord merci beaucoup pour votre réponse, je n'ai pas le temps de regarder ce week end mais je m'y met dès lundi et vous tient au courant.
Passez un bon week et à lundi.
Merci 1000 fois
Cdt
Eric
 

Dudu2

XLDnaute Barbatruc
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 ?
 

Discussions similaires

Réponses
5
Affichages
282
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…