Comprendre l'utilisation d'une listbox excel vba [Résolu/Fermé]

Signaler
-
 Pol Ochon -
Bonjour,

Malgré diverses et nombreuses recherches sur le net, je n'arrive pas à comprendre ce qui doit être simple.

Je cherche comment alimenter une listbox à partir d'une zone de saisie lorsque je clique sur un bouton.
Je n'ai aucune idée du code, à force de voir des codes sur le net, je m'y perds.

Merci si quelqu'un avait d'un code simple pour m'aiguiller, je l'en remercie beaucoup

9 réponses

Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 020
Bonjour
..."Malgré diverses et nombreuses recherches sur le net "...

C'est vrai ?

pourtant le site de ce tuto est archi-connu
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G

bonne découverte
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61351 internautes nous ont dit merci ce mois-ci

Effectivement cela marche, j'ai refais un essai sur une autre feuille et pas de problème.
J'ai une autre question, comment éviter de saisir des doublons ?
Bonjour Et merci Michel,

Ce tuto, je le connais mais je n'arrive pas à m'y faire.
J'ai essayé ceci :

Private Sub CommandButton1_Click()
[F1] = TextBox1.Text
Sheets(1).Cells(1, 6).Copy
Sheets(1).Cells(65535, 1).End(xlUp)(2).PasteSpecial Paste:=xlPasteValues
ListBox1.RowSource = "A3:A20"
End Sub

Il doit surement y avoir un code plus fonctionnel., merci
Up, svp
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 020
Bonjour,

Il doit surement y avoir un code plus fonctionnel., merci

certainement, encore faudrait il savoir ce que tu veux faire

apparamment, tu chercherais à mettre dans la listbox la valeur écrite dans le textbox mais quelle est l'utilité de cette cellule F1 ?

les crochets encadrant F1 donne la valeur de F1; (ces crochets sont utilisés pour écrire le résultats de formules matricielles dans VBA, et par détournement la valeur d'une cellule) or tu cherches à mettre dans F1 la valeur du textbox d'où plantage certain





Michel
Bonjour

Cette cellule F1 est bien la représentation de ce qui est écrit dans la textbox.
Ne sachant comment procéder, j'essaie différentes choses.
Effectivement, je cherche comment mettre ce qui est écrit dans la textbox dans la listbox, merci
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 020
re,

Private Sub UserForm_Initialize() 
Dim Derlig As Byte, Lig As Byte 
With Sheets(1) 
     Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row 
     If Derlig > 2 Then 
          For Lig = 3 To Derlig 
               ListBox1.AddItem .Cells(Lig, "A") 
          Next 
     End If 
End With 
End Sub 

Private Sub CommandButton1_Click() 
Dim Ligvide As Byte 
ListBox1.AddItem TextBox1 
With Sheets(1) 
     Ligvide = .Columns("A").Find("", .Range("A2"), xlValues).Row 
     .Cells(Ligvide, "A") = TextBox1 
End With 
End Sub


maquette
https://www.cjoint.com/?3CymKsjGaRa

Michel
Merci, je vais regarder votre fichier et essayer de comprendre.
Grand merci, en fait c'est simple à comprendre.

Par contre lorsque je ferme la fenêtre et que je rouvre, ce qui est déjà écrit dans les cases remplies ( par ex : A3, A4, A5 ) il n'y a rien dans la listbox.
Il doit surement mettre un code à l'initialisation de l'userform pour cette listbox ?
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 020
pourtant tu as la procédure à l'initialisation de l'userform sci-dessus
Private Sub UserForm_Initialize()

qui doi ^tre demander par un bouton demandant l'apparition de l'usf
dustyle
userform1;show