mise à jour d'une listbox

  • Initiateur de la discussion Initiateur de la discussion arvin
  • Date de début Date de début

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 !

arvin

XLDnaute Occasionnel
bonjour à tous ,

voilà je souhaite mettre à jour une listbox : en fait, le principe est de chercher un nom dans une listbox et si il n'y est pas de le créer . Mais le souci est qu'en le créant , la listbox ne se met pas à jour immédiatement
Je voudrais que ma Listbox s'actualise en meme temps; or ce n'est pas le cas. Lorsque l'on supprime un nom de la base de donnee, il reste inscrit dans la listbox. Je suis donc oblige de fermer et reouvrir mon fichier excel pour mettre a jour cette listbox.

J'ai essayé en refaisant une boucle par add mais cela ne fonctionne pas : qui pourrais me corriger ?

merci

Private Sub CommandButton2_Click()

Call ajouterunnom

Dim i As Integer

'boucle sur chaque élément de la listbox1, si sélectionné, copie le nom
'dans le label
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
ListBox2.AddItem .List(i, 0)

End If
Next i
End With
 
Re : mise à jour d'une listbox

merci beaucoup, j'ai essayé de comprendre mais finalement rien ne se rajoute dans le listbox1, pourquoi ?????

merci


Public Sub initlistbox()
Dim Cel As Range 'déclare la variable Cel

'Remplit la ListBox1
'boucle sur toutes les cellules Cel éditées de la colonne A
For Each Cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
ListBox1.AddItem Cel 'ajoute la valeur de la cellule à la ListBox1
Next Cel 'prochaine cellule Cel de la colonne A
End Sub
 
Re : mise à jour d'une listbox

re,

Est-ce que tu pourrais mettre un exemple simple de ton fichier pour qu'on voit ou cela ne fonctionne pas parce que comme ca, je ne suis pas sur de pouvoir t'aider et j'ai la fleme de créer une Listbox pour tester. 😛

@+
 
Re : mise à jour d'une listbox

Bonjour Romain, Arvin, le Forum

Selon ton premier Post cette Procédure envoit de la ListeBox1 les éléments sélectionnés (sous-entendu que la Listbox1 est paramétrée en MultiSelect) vers la ListBox2

Ceci par action sur le "CommandButton2"

Code:
Private Sub CommandButton2_Click()
Dim i As Integer
 
'Call AjouterUnNom '[COLOR=green][B]<<<<<<< Procédure à voir... ????[/B][/COLOR]
 
Me.ListBox2.Clear '[B][COLOR=green]<<<<<<<< A AJOUTER SINON TU AURAS DES DOUBLONS....[/COLOR][/B]
 
With ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
                ListBox2.AddItem .List(i, 0)
        End If
    Next i
End With
 
End Sub


Maintenant ta procédure postée dans ton autre Post :

Code:
Private Sub Init_Listbox() [B][COLOR=red]'NB : Private Sub[/COLOR][/B]
Dim Cel As Range
    For Each Cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
        ListBox1.AddItem Cel
    Next Cel '
 
Me.ListBox1.MultiSelect = fmMultiSelectMulti '[COLOR=green][B]<<<<<<<< A AJOUTER SI TU VEUX DU MULTISELECT[/B][/COLOR]
End Sub

En fait, si tu veux ré-initialiser ta ListBox1, la procédure du CommandButton2 n'a strictement rien à voir....

Il faudrait voir le code de la Sub "AjouterUnNom" et probablement en fin de celle-ci y adjoindre un Call vers "Init_Listbox".... Cependant cela aurait pour effet de mettre la selection en MultiSelect à néant pour le CommandButton2...

Pas clair, pas clair...

Bon Aprèm

@+Thierry

 
- 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
10
Affichages
661
Réponses
15
Affichages
778
Réponses
10
Affichages
1 K
Réponses
4
Affichages
625
Réponses
3
Affichages
922
Retour