Probleme de Mise à jour d'une ListBox

sebamak

XLDnaute Nouveau
Bonjour à tous,

Je voudrais vous solliciter pour un petit souci sur une LISTBOX.:confused:

Voilà, j’ai créé un UserForme Nommée « UF_SERIE » comportant une ListBox Nommée « LB_SERIE » et un bouton « Ajouter »,
A ce niveau, ma ListBox est alimenté en donnée par une liste nommée « SERIE » qui se trouve sur le premier onglet de mon classeur Nommé « SERIES ».
Je précise que la liste « SERIE » est référencé dans la propriété « RowSource » de ma ListBox.
Quand je click sur le bouton « Ajouter », cela ouvre une autre UserForm Nommée « UF_NEW_SERIE » avec une zone de texte et un bouton OK, qui s’active sans fermer la première UserForm « UF_SERIE », Jusque là tout va bien.

Mon problème arrive ensuite :

Quand je rentre une nouvelle valeur dans la zone de texte de mon UserForm « UF_NEW_SERIE » et que je clic sur « OK », ma nouvelle valeur va bien se rajouter dans ma liste « SERIE » sur mon onglet « SERIES » mais ma ListBox qui et toujours ouverte à l’écran ne reprend pas toute les lignes de ma liste « SERIE ».
En fait ma dernière entrée apparaît tout en bas, mais l’ancienne dernière entrée disparaît.
Si je veux que toute ma liste réapparaissent comme il faut, il faut que je referme mon UserForm « LB_SERIE » et que je le ré-ouvre.

1 - Je voudrais savoir s’il existe une ligne de code VBA que je pourrais rajouter (à mon bouton « OK » par exemple) Pour réinitialiser ma liste dans ma ListBox sans devoir refermer celle-ci ?

Ou

2 - J’ai cru comprendre en surfant sur le Net, qu’il y’a une autre méthode pour alimenter une ListBox en passant par des lignes de code et non par sa propriété « RowSource » et qui permettrait de réinitialisé la ListeBox plus aisément.
Mais comment fait-on ?
Quel est le bon code à inscrire ?
Et où le renseigne-t-on ?

Maintenant si ma demande N°1 est réalisable cela m’ira amplement.

Merci d’avance à vous tous pour vos éventuelles solutions.
Je joins le fichier qui résume mon souci.
Vous excuserez un code plutôt simpliste car je suis encore qu’au début de mon apprentissage du VBA …
 

Pièces jointes

  • Mise à jour ListBox.xls
    46 KB · Affichages: 45

Modeste

XLDnaute Barbatruc
Re : Probleme de Mise à jour d'une ListBox

Bonjour sebamak,

Si tu supprimes "SERIE" de la propriété RowSource, tu peux ajouter, dans le code de ton UF_SERIE:
VB:
Private Sub UserForm_Initialize() 'se produira juste avant l'affichage de l'USF
Me.LB_SERIE.List() = Range("SERIE").Value
End Sub

Dans le code de ton UF_NEW_SERIE, à la fin de la procédure CB_NEW_SERIE_OK_Click():
VB:
UF_SERIE.LB_SERIE.List() = Application.Transpose(Sheets("SERIES").Range("A2:A" & Sheets("SERIES").Range("A" & Rows.Count).End(xlUp).Row))
 

sebamak

XLDnaute Nouveau
Re : Probleme de Mise à jour d'une ListBox

Merci à vous pour vos réponse, Je vais de ce pas regarder tout ça. Mais aux vue de toutes vos informations je pense pouvoir m'en sortir.
Encore merci d'avoir pris un peu de votre temps pour me répondre
A+
 

Statistiques des forums

Discussions
312 206
Messages
2 086 201
Membres
103 156
dernier inscrit
Ludo94130