ComBox ne fonctionne pas

Résolu/Fermé
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 - 14 janv. 2016 à 10:17
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 - 15 janv. 2016 à 08:41
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


12 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 janv. 2016 à 10:25
Bonjour,

en principe, c'est
Private Sub UserForm_Initialize()
pour initialiser un obejt a l'ouverture de lUF
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 11:00
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 janv. 2016 à 11:08
Re,

cette combobox est dans une userform ou sur une feuille ??????

Combobox_initialize n'EXISTE PAS, il n'y a que UserForm_Initialize pour une UF
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 11:15
Dans une userform, donc comment faire pour que mon ComboBox fonctionne
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 janv. 2016 à 11:30
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
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 11:59
Je suis débutant que veux tu dire par

que veux dire UF
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 janv. 2016 à 14:11
Re,

UF: userform, celle que vous avez avec la combobox !!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
14 janv. 2016 à 12:38
Bonjour,

Un petit peu de lecture pour t'éclairer:


https://silkyroad.developpez.com/VBA/UserForm/#LII
0
Alzahel Messages postés 3 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 14 janvier 2016
14 janv. 2016 à 12:46
Clic droit sur ton user form puis "code".
Ou double clic simplement sur ton userform.
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 12:59
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
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 13:13
Mon UserFormImprCata
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022
14 janv. 2016 à 14:13
Re,

pouvez-vous me dire mon erreur Dites deja ce qui ne va pas, s'il y a une erreur laquelle !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 14:18
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é
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 14/01/2016 à 14:28
Re,

Si pas erreur de recopie:

Range("K" + j) remplacez le + par &

FBaseLivre kezaco ???????????????
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
14 janv. 2016 à 14:31
C'est le nom de ma feuille ou se trouve la liste pour la liste déroulante
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022
Modifié par f894009 le 14/01/2016 à 14:59
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 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
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
14 janv. 2016 à 15:36
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 janv. 2016 à 15:42
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...
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
15 janv. 2016 à 08:39
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
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
15 janv. 2016 à 08:41
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
0
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 2
15 janv. 2016 à 08:41
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
0