ComBox ne fonctionne pas
Résolu
viret1290
Messages postés
146
Statut
Membre
-
viret1290 Messages postés 146 Statut Membre -
viret1290 Messages postés 146 Statut Membre -
Bonjour,
mon code est le suivant
Private Sub ComboBoxLangue_Change()
Dim j As Integer
'récupère les données de la colonne K de FBaseLivre
For j = 2 To FBaseLivre.Cells(1, 1).End(xlUp).Row
ComBoxLangue = Worksheets("Base Livres").Range("K" & j)
'filtre les doublons
If ComBoxLangue.ListIndex = -1 Then ComBoxLangue.AddItem Range("K" + j)
' End If
Next j
End Sub
je vois que chez vous c'est _Initialize mais moi j'ai _Change et je n'arrive pas à mettre _Initialize comment dois je faire merci de votre aide
Lionel
mon code est le suivant
Private Sub ComboBoxLangue_Change()
Dim j As Integer
'récupère les données de la colonne K de FBaseLivre
For j = 2 To FBaseLivre.Cells(1, 1).End(xlUp).Row
ComBoxLangue = Worksheets("Base Livres").Range("K" & j)
'filtre les doublons
If ComBoxLangue.ListIndex = -1 Then ComBoxLangue.AddItem Range("K" + j)
' End If
Next j
End Sub
je vois que chez vous c'est _Initialize mais moi j'ai _Change et je n'arrive pas à mettre _Initialize comment dois je faire merci de votre aide
Lionel
12 réponses
-
Bonjour,
en principe, c'estPrivate Sub UserForm_Initialize()
pour initialiser un obejt a l'ouverture de lUF -
Bonjour,
merci pour la réponse,
mais je n'ai pas Initialize, comment faire dans ce cas ??
Je ne le trouve pas en haut à droite, et si je le note manuellement, mon ComBox n'est plus reconnu ??
Pouvez-vous m'aider -
Dans une userform, donc comment faire pour que mon ComboBox fonctionne
-
Re,
code a mettre dans le VBA de l'UF
Private Sub UserForm_Initialize() Dim j As Integer 'récupère les données de la colonne K de FBaseLivre For j = 2 To FBaseLivre.Cells(1, 1).End(xlUp).Row ComBoxLangue = Worksheets("Base Livres").Range("K" & j) 'filtre les doublons If ComBoxLangue.ListIndex = -1 Then ComBoxLangue.AddItem Range("K" + j) Next j End Sub
-
-
Je suis débutant que veux tu dire par
que veux dire UF -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Un petit peu de lecture pour t'éclairer:
https://silkyroad.developpez.com/VBA/UserForm/#LII
-
Clic droit sur ton user form puis "code".
Ou double clic simplement sur ton userform. -
J'ai un problème voici l'erreur.
Le membre existe déjà dans un module objet dont le présent module est dérivé
dans la feuille Gestion pour faire apparaitre UserFormImprCatalogue
Private Sub BtImprCatalogue_Click()
UserFormImprCata.Show
End Sub
et dans L'UF
Private Sub UserForm_Initialize()
Dim j As Integer
'récupère les données de la colonne K de FBaseLivre
For j = 2 To FBaseLivre.Cells(1, 1).End(xlUp).Row
ComBoxLangue = Worksheets("Base Livres").Range("K" & j)
'filtre les doublons
If ComBoxLangue.ListIndex = -1 Then ComBoxLangue.AddItem Range("K" + j)
Next j
End Sub
pouvez-vous me dire mon erreur
merci -
Je l'ai marqué au début de mon message à 12h59.
Voici le message
Le membre existe déjà dans un module objet dont le présent module est dérivé-
- Re,
nom de ma feuille ou se trouve la liste Worksheets("Base Livres")
' en partant de votre code Private Sub UserForm_Initialize() Dim j As Integer temps = Timer 'récupère les données de la colonne K de FBaseLivre With Worksheets("Base Livres") Fin = .Range("K" & Rows.Count).End(xlUp).Row For j = 2 To Fin ComBoxLangue = .Range("K" & j) 'filtre les doublons If ComBoxLangue.ListIndex = -1 Then ComBoxLangue.AddItem .Range("K" & j) Next j ComBoxLangue.ListIndex = -1 End With MsgBox Timer - temps End Sub
'ici plus rapidePrivate Sub UserForm_Initialize() Dim Dico_Livre As Object, Plage, TMP, x As Long, FP As Long temps = Timer Set Dico_Livre = CreateObject("Scripting.Dictionary") With Worksheets("Base Livres") derlig = .Range("K" & Rows.Count).End(xlUp).Row 'derniere cellule non vide Plage = .Range("K2:K" & derlig) 'mise en memoire End With FP = UBound(Plage, 1) For x = 1 To FP: Dico_Livre(Plage(x, 1)) = "": Next x 'transfert infos en tableau TMP = Dico_Livre.Keys 'Table sans doublon ComBoxLangue.List = TMP MsgBox Timer - temps End Sub
Tout depend du nombre de livres
-
-
re-bonjour
j'ai toujours le même problème.
J'ai un bouton pour afficher le ComBox
et j'ai mis le code que tu m'as donnée.
Quand j'appuie sur le bouton pour afficher le ComBox le message d'erreur suivant apparaît:
Private Sub BtImprCatalogue_Click()
UserFormImprCata.Show
End Sub
Comment faire-
Re,
Pouvez-vous mettre votre fichier a dispo sans donnees sensibles
Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
-
-
Bonjour,
J'ai refait ma UserForm et retaper le code et cela fonctionne maintenant, je ne sais pas ou était mon erreur.
Je vous remercie infiniment de votre aide -
Bonjour,
J'ai refait ma UserForm et retaper le code et cela fonctionne maintenant, je ne sais pas ou était mon erreur.
Je vous remercie infiniment de votre aide -
Bonjour,
J'ai refait ma UserForm et retaper le code et cela fonctionne maintenant, je ne sais pas ou était mon erreur.
Je vous remercie infiniment de votre aide