Mise à jour ComboBox

XC2ONE

XLDnaute Junior
Bonjour le Forum,

J'ai un comboBox sur un USF qui me permet de choisir une possibilité dans une liste déroulante puis de la valider.

Ce choix vient s'incrémenter dans une base de données.

Une fonction recherche me permet de retrouver la possibilité que j'avais retenue à l'origine mais du coup le combo box n'existe plus, et s'il ont veux choisir autre chose, il faut le saisir manuellement avec les risques que celà comporte.

Voici les codes correspondant :

sur le USF de création de fiche ( j'ai rédui le code à un seul text box pour éviter d'en avoir 1 kilomètre) :

Private Sub UserForm_Initialize()
f_ent2 = ''

Private Sub UserForm_Activate()
' Initialiser la liste des vendeurs
f_ent2.RowSource = 'Par!N8:N27'
f_ent2.ListIndex = 0

Private Sub ok_Click()
Sheets('BDD').Cells(nb_contact + 2, 2) = f_ent2
choix_OK = True
f_ent2 = ''
choix_OK = False
Unload f_nouveau
En Sub

Pour le USF de modification :

Private Sub UserForm_Initialize()
f_ent2 = v_ent2

Private Sub modif_Click()
Sheets('BDD').Cells(v_num, 2) = f_ent2
choix_OK = False
Unload f_trouve
End Sub

En fait j'ai essayé d'installer des combo box dans le USF de modif à la place des text box, mais je n'arrive pas à les initialiser avec la dernière entrée réalisée.

En espérant avoir été le plus clair possible,

Merci à vous
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re XC2, le Forum

C'est l'exemple type de ce qu'il faut éviter de faire pour nommer ses contrôles sur un UserForm :huh:

C'est Quoi 'f_ent2', vu que tu parles de TextBox, 'j'ai rédui le code à un seul text box pour éviter d'en avoir 1 kilomètre'

Mais vu aussi quer tu as dans le Code f_ent2.RowSource = 'Par!N8:N27'... j'en conclus que c'est bien ta ComBoBox...

Je l'aurais nommée 'Cbx_F_Ent2' au cas où...

Sinon, et bien si tu ajoutes un Item, il faut redimensionner justement ton RowSource de manière Dynamique...

Admettons avec une simple variable DerLigne de Type Integer

DerLigne = Sheets('Par').Range('N35000').End(XlUp).Row

Puis ensuite donc ton RowSource devra s'écrire ainsi :

With f_ent2
.RowSource = 'Par!N8:N' & DerLigne
.ListIndex = 0
End With

Bonne Programmation
@+Thierry

Message édité par: _Thierry, à: 09/03/2005 17:39
 

XC2ONE

XLDnaute Junior
Bonsoir Thierry,

C'est cliar, tu as tout à fait raison, en fait j'ai transformé les textbox en combo et j'ai gardé les mêmes noms, en effet c'est pas très judicieux. Je m'en vais changer tout ça...

En ce qui concerne ces fameuses mises à jour, mon problème est que la liste des possibilités ne changent pas.

C'est le choix précédent de l'utilisateur que je voudrais voir apparaître dans le combobox en consultation et la possibilité de la modifier avec la liste déroulante.

Par exemple :
Pour une création de fiche nommée 'ESSAI' l'utilisateur choisi A dans un combo où il a le choix entre A,B ou C.
Donc dans la database, une ligne avec ESSAI en A1 et A en A2.

Il souhaite modifier, il recherche la fiche ESSAi avec le moteur de recherche, il obtient la fiche 'ESSAI', il voit qu'il avait choisi A, il change dans la liste déroulante en choississant B et la database est mise à jour.

Actuellement, avec mes différents essais de programmation, ou il obtient A, mais il n'a plus le choix des autres (car TextBox) ou il obtient le choix A,B ou C grace au Combo mais ne voit pas ce qu'il avait choisi.

Encore merci de ton aide..
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:Mise à jour ComboBox => REDIF DEMOS !!!!

Salut XC2, le Fil, le Forum

Oui je pense comprendre ce que tu veux obtenir, mais au regard des questions que tu poses sur des niveaux relativement basics de VBA, tu t'attaques à une application assez avancée pour ton premier programme. Moi, perso je te conseillerai de t'entrainer sur des plus petites applis afin de te faire les dents...

Bon Sinon voici deux démos 'Certifiées' par Maïtrec Vébéha !!! lol

La Première :
=> Lien supprimé

... te permettra de comprendre le processus pour obtenier des incrémentations de données dans des ComboBox Successives en Fonction du Choix fait dans la ComboBox dîte 'Parent'... Soit en 'Incrémentation en Cascade'

La Seconde :
=> Lien supprimé

...qui, comme son nom l'indique, te permettra de voir comment je m'y prends pour faire un Userform de saisie et de gestion de Database (un de plus) avec Consulation de Données, Ajout de Données avec Vérification de Doublon, Mise à Jour de Données, Suppression de Données..

Si tu ne compreds pas ces démos, j'en ai fait tout plein d'autres (plus ou moins compliquées) dans l'ancien Forum...

=> Ce lien n'existe plus

... Tu Utilises le Moteur de Recherche de ce Forum là avec les mots clefs :
'DEMO UserForm ComboBox @+Thierry'... (ou encore 'ListBox' qui est sa cousine)

Avec tout ça... tu devrais trouver ton bonheur... Et n'oublies pas aussi, comme je te l'ai conseillé dans un autre Post ce matin, de consulter un peu l'aide VBA (Touche [F1]) avant de poster tes multiples questions... Et donc aussi maintenant que tu as le lien, consulte aussi les archives, 90% des questions y ont été traîtées...

Bonne Journée
@+Thierry

Message édité par: _Thierry, à: 10/03/2005 10:41
 

Neptune12102

XLDnaute Nouveau
Re : Mise à jour ComboBox

Bonjour Thierry,

Je n'arrive pas à télécharger les fichiers de ton exemple.
Y a t-il quelque chose à faire ?
Moi je veux juste me créer un fichier client sur Excell remplir le champ ville de façon semi-automatique en fonction du CP. Je n'ai plus fait de développement depuis 2002, j'ai donc un peu de mal à me remettre dans le bain.
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 072
Membres
104 018
dernier inscrit
Mzghal