Reinitialiser Combobox

Bonjour à tous,

"Petit" (et vieux ... 67 ans donc comprenette pas toujours ouverte) programmeur en VBA sur un vieil Excel 2000 (oui je sais y a plus récent.. mais j'ai pas le choix) je mets à jour un petit programme de gestion de stock de produits de santé pour une asso humanitaire... et depuis hier je butte sur un problème qui doit être vite résolu ... à condition de savoir comment faire...

Sur un userform j'ai un combobox1 comportant une liste de produits, renseignée par la colonne A de ma feuille excel

Il s'agit de produits dont certains ont une date de péremption, date que je renseigne dans la colonne B correspondante.

Or il se trouve que le même produit peut apparaître dans la liste, sous le même nom donc, mais avec une date de péremption différente dans la colonne B. Jusque là tout va bien... Si j'ajoute un des produits existant avec donc en regard une nouvelle date, il est bien ajouté dans ma feuille Excel sur (ou sous selon la date) le produit de même nom...

Mais la liste de mon Combobox1 n'est pas mise à jour. Il faut que je ferme et réouvre l'userform sinon les saisies suivantes sont faussées (normal la liste d'index n'étant pas à jour)...

Je mets à jour la liste par Combobox1.additem (dans une procédure appelée par call) et non par rowsource (plus facile et direct pourtant) tout simplement parce que rowsource n'accorde pas d'index aux produits du même nom .... (je sais pas si je suis bien clair, là ?)

Donc ma question : comme mettre à jour un combobox sans fermer et réouvrir l'userform ?

Si une âme charitable peut m'aider, ça m'arrangerait sérieusement...

Merci d'avance,

Papa Charlie

vider une combobox:

Combobox1.clear

Apres il faut la reremplir...

Bonjour,

oui ça je sais faire, et ma procédure par additem (qui est appelée quand je valide la saisie) dans une boucle le fait bien, mais c'est jamais reconnu par la combobox tant que je n'ai pas fermé l'userform et c'est là mon seul problème ...

un fichier pour mieux comprendre?

Un fichier ?? si je t'envoie la totalité du programme c'est 23 pages... lol

je ne crois pas que ça avance à quoi que ce soit....

Toutes les procédures fonctionnent, et ma seule interrogation est comment mettre à jour un combobox sans sortir de l'userform...

En clair la mise à jour ci-dessous est bien opérationnelle (j'ai une commande Call qui l'appelle, y compris dans userform_initialize)

dercell3 = Range("produits!a2").End(xlDown).Row
For j = 2 To dercell3
      Me.ComboBox1.AddItem Sheets("produits").Range("A" & j)
Next j

mais elle n'est effective qu'après fermeture de l'userform

Bon, finalement, j'ai trouvé....

Il me suffit de faire

Call miseajourlistes qui appelle la procédure ci-dessus

et

UserForm1.Show qui réinitialise l'userform... C'était si simple pourtant (et peut-être pas rationnel d'ailleurs... )

Merci de ta participation ...

Rechercher des sujets similaires à "reinitialiser combobox"