VBA : combobox ou listbox ??

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 !

dionys0s

XLDnaute Impliqué
Bonjour le forum

j'ai un petit soucis. Je bosse sur un formulaire pour les achats (bon de commande) dans lequel les salariés devront saisir les informations des produits qu'ils achètent pour la boite.

Losqu'une case est modifiée apparait un userform qui demande si l'on veut modifier un article du bon de commande. Si on clique sur non alors on sort du userform. Jusque là tout va bien. Après je sèche. Si on clique sur oui (donc pour modifier un article), je voudrais qu'un userform apparaisse et propose une liste des articles précédement saisis (plage B25:B46, pas forcément toutes les cellules). C'est un combobox qu'il faut pour ça non ? En tout cas c'est ce que j'ai compris en recherchant sur internet. Mais je n'arrive pas à trouver comment faire en sorte que mon combobox propose la liste des articles déjà saisis.

En gros, dans l'exemple de ma pièce jointe, il faudrait qu'il déroule une liste inscrivant

Article 01
Article 02
...
Article 06

Et qu'il ne permette pas la saisie manuelle d'une autre valeur.

Et en tapant "combobox" dans l'aide de excel online, l'unique article renvoyé s'intitule "À propos des langues qui se lisent de droite à gauche" 😕

J'espère avoir été assez clair.
Merci beaucoup d'avance pour votre aide 🙂
 

Pièces jointes

Re : VBA : combobox ou listbox ??

Désolé... J'ai trouvé une solution. J'aurais du mieux chercher au départ.

Code:
Private Sub ComboBox1_Change()

End Sub
Private Sub UserForm_Initialize()

Dim i
    For i = 25 To 46
        ComboBox1.AddItem Sheets("Formulaire").Cells(i, 2)
    Next

End Sub

Ca vous semble correct ?
 
Re : VBA : combobox ou listbox ??

Bonjour carcharodon-carcharias, bonjour Hasco ^^

Merci pour les infos 🙂
Finalement j'ai amélioré mon code en ceci :
Code:
Private Sub UserForm_Initialize()

Dim DernierArticle As Integer
DernierArticle = Range("B24").End(xlDown).Row
Dim i
For i = 25 To DernierArticle
    ComboBox1.AddItem Sheets("Formulaire").Cells(i, 2)
Next

End Sub
De cette façon seules les lignes dans lesquelles un article a été saisi sont prises en compte, et ça évite d'afficher des valeurs nulles sélectionnables et non exploitable par la suite de ma macro.

Bon week end à vous !
 
Re : VBA : combobox ou listbox ??

Fils de Zeus, squale plus effrayant que méchant,

Mes grottes vont bien, enfin, si les visiteurs ne respirent pas trop, sinon j'ai la peinture qui craque😀.

On a été obligé de dupliquer mes peintures, avant qu'elles ne passent à l'as.

A+
 
- 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
Retour