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'est
en principe, c'est
Private 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
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
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
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
Un petit peu de lecture pour t'éclairer:
https://silkyroad.developpez.com/VBA/UserForm/#LII
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
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é
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")
'ici plus rapide
Tout depend du nombre de livres
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 rapide
Private 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
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...
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
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