• Initiateur de la discussion Initiateur de la discussion wetrol
  • 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 !

W

wetrol

Guest
Bonjour a toutes et à tous,

dans l'exemple joint, je n'arrive pas à renseigner la combobox1. Celle-ci devrait l'etre par la feuille récap, et ainsi pouvoir afficher l'historique de l'individu selectionné dans la listebox1.
Quelque chose ne fonctionne pas correctement, mais je ne sais pas quoi!
Pour l'instant je souhaite "simplement" renseigner la combobox en evitant les doublons, sachant que le meme nom peut apparaitre une dizaine de fois, voir plus.
Merci pour votre aide
 

Pièces jointes

Re : faux, mais quoi

Bonjour

En changeant le nom de la procédure

Private Sub UserForm4_Initialize() en Private Sub UserForm_Initialize()

Ci dessous la procédure corrigée

Code:
Private Sub UserForm_Initialize()
Dim Col As New Collection 'déclare la variable col
Set c = Sheets("STOCK") 'definit la variable c
Set M = Sheets("RECAP") 'définit la variable M
tabc = c.Range("A8:A" & M.Range("A65536").End(xlUp).Row) 'définit la variable tabc


tabM = M.Range("A2:A" & M.Range("A65536").End(xlUp).Row) 'définit la variable tabM

For y = 1 To UBound(tabM, 1) 'boucle sur toutes les cellules de la première colonne de tabm
    On Error Resume Next 'gestion des erreurs (évite les doublons)
    Col.Add tabM(y, 1), CStr(tabM(y, 1)) 'ajoute la valeur de la cellule comme membre de la collection col
Next y 'prochaine cellule de la boucle

'remplissage de la ComboBox1
For y = 1 To Col.Count 'boucle sur tous les membres de la collection col
  ComboBox1.AddItem Col(y) 'ajoute le membre à la ComboBox1
Next y 'prochain membre de la collection

End Sub
JP
 
Dernière édition:
Re : faux, mais quoi

Bonjour Wetrol, JP14, bonjour à tous,

En complément de la correction de JP14, je pense que tu as voulu écrire:

Code:
tabc = c.Range("A8:A" & c.Range("A65536").End(xlUp).Row)

et non pas "M.Range("A65536")..."

Et dans les boucles si tu écris For y=1 to x, assure-toi de bien utiliser y et non pas x.

@+

Gael

Et Salut Jean-Marcel
 
Dernière édition:
Re : faux, mais quoi

Merci à vous deux, la solution fonctionne parfaitement.Ce que je ne comprend pas c'est que j'ai essayé de modifier le userfrom4 en userform, mais le commandbutton bug à l'aouverture du classeur.
Tu as parfaitement raison.C'est effectivement ce que je devait écrire.Quand à l'utilisation du y en place du x, j'y ferais attention car je vais encore en avoi besoin.

Merci encore à tous les deux
 
Re : faux, mais quoi

Re,

Le bug à l'ouverture parceque tu avais mis M.range.. au lieu de c.range et M n'était défini que dans l'instruction suivante.

C'est pourquoi, JP14 a déplacé cette instruction avant la définition de Tabc.

@+

Gael
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour