Changer la liste de référence pour une listbox

Fermé
Del - Modifié par pijaku le 21/10/2014 à 10:23
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 28 oct. 2014 à 15:04
Bonjour,

J'ai crée un fichier pour pouvoir compiler toutes les informations liées aux différentes réceptions de marchandises dans mon entreprise.

La listbox1 permet de recharger dans la boîte de dialogue, les clients qui ont déjà été enregistré.

Or je n'arrive pas à changer la liste de référence de ma feuille excel qui est prise pour la listbox, je voudrais qu'il prenne la colonne 2 et non plus la 5.

Voici le code :

Private Sub ListBox1_Click()
Dim i, position As Integer
Dim Nom1, Nom2, Nom3, Nomfeuille, contenants As String
i = Dialogue.ListBox1.Listselected + 1 = True
        Nom1 = CStr(Day(Sheets("Formulaire").Cells(6, 5)))
        Nom2 = CStr(Month(Sheets("Formulaire").Cells(6, 5)))
        Nom3 = CStr(Year(Sheets("Formulaire").Cells(6, 5)))
        If Day(Sheets("Formulaire").Cells(6, 5)) < 10 Then
            Nom1 = "0" + Nom1
        End If
        If Month(Sheets("Formulaire").Cells(6, 5)) < 10 Then
            Nom2 = "0" + Nom2
        End If
Nomfeuille = Nom1 + Nom2 + Nom3
position = i  'ActiveCell.Row
If position > 1 Then
    Dialogue.ComboBox6 = Sheets(Nomfeuille).Cells(position, 1)
    Dialogue.ComboBox2 = Sheets(Nomfeuille).Cells(position, 2)
    Dialogue.TextBox7 = Sheets(Nomfeuille).Cells(position, 3)
    Dialogue.ComboBox1 = Sheets(Nomfeuille).Cells(position, 4)
    Dialogue.CheckBox1 = Sheets(Nomfeuille).Cells(position, 5)
    Dialogue.CheckBox2 = Sheets(Nomfeuille).Cells(position, 6)
    Dialogue.TextBox4 = CStr(Format(Sheets(Nomfeuille).Cells(position, 7), "h"))
    Dialogue.ComboBox4 = CStr(Format(Sheets(Nomfeuille).Cells(position, 7), "nn"))
    Dialogue.ComboBox5 = Sheets(Nomfeuille).Cells(position, 8)
    Dialogue.TextBox2 = Sheets(Nomfeuille).Cells(position, 9)
    Dialogue.TextBox5 = Sheets(Nomfeuille).Cells(position, 10)
    Dialogue.TextBox6 = Sheets(Nomfeuille).Cells(position, 11)
    Dialogue.TextBox9 = Sheets(Nomfeuille).Cells(position, 12)
    Dialogue.TextBox10 = Sheets(Nomfeuille).Cells(position, 13)
    Dialogue.TextBox11 = Sheets(Nomfeuille).Cells(position, 14)
    Dialogue.TextBox13 = Sheets(Nomfeuille).Cells(position, 15)
    Dialogue.TextBox14 = Sheets(Nomfeuille).Cells(position, 16)
    Dialogue.TextBox15 = Sheets(Nomfeuille).Cells(position, 17)
    Dialogue.TextBox16 = Sheets(Nomfeuille).Cells(position, 18)
    Dialogue.TextBox17 = Sheets(Nomfeuille).Cells(position, 19)
    Dialogue.TextBox18 = Sheets(Nomfeuille).Cells(position, 20)
    Dialogue.TextBox19 = Sheets(Nomfeuille).Cells(position, 21)
    Dialogue.TextBox20 = Sheets(Nomfeuille).Cells(position, 22)
    Dialogue.TextBox21 = Sheets(Nomfeuille).Cells(position, 23)
    Dialogue.TextBox22 = Sheets(Nomfeuille).Cells(position, 24)
    Dialogue.TextBox23 = Sheets(Nomfeuille).Cells(position, 25)
    Dialogue.TextBox3 = CStr(Format(Sheets(Nomfeuille).Cells(position, 26), "h"))
    Dialogue.ComboBox3 = CStr(Format(Sheets(Nomfeuille).Cells(position, 26), "nn"))
    Dialogue.TextBox24 = Sheets(Nomfeuille).Cells(position, 27)
    Dialogue.TextBox25 = Sheets(Nomfeuille).Cells(position, 28)
    Dialogue.TextBox26 = Sheets(Nomfeuille).Cells(position, 29)
    Dialogue.TextBox27 = Sheets(Nomfeuille).Cells(position, 30)
    Dialogue.TextBox28 = Sheets(Nomfeuille).Cells(position, 31)


A voir également:

9 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 oct. 2014 à 15:30
Bonjour,

Or je n'arrive pas à changer la liste de référence de ma feuille excel qui est prise pour la listbox Ben oui, mais vu que vous ne montrez pas comment vous affectez cette "liste de référence" colonne 5 a la listbox1, pas possible de vous aidez

i = Dialogue.ListBox1.Listselected + 1 = True
?????????
0
Et bien justement je n'ai que cette ligne avec i pour la sub
(ce n'est pas moi qui ai tapé ce code)
et je ne sais pas comment est affecté cette liste.

le code précédent pour cette ligne était
i = Dialogue.ListBox1.ListIndex
mais même problème impossible de savoir comment elle est affecté
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 oct. 2014 à 08:28
Bonjour,

mais même problème impossible de savoir comment elle est affecté Va pas etre simple a resoudre sans le fichier.

Pouvez-vous mettre votre fichier a disposition sur https://www.cjoint.com/ en modifiant les donnees sensibles
0
Bonjour,

voici le lien :
http://cjoint.com/?3JxsMOvhrFr

Merci
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 oct. 2014 à 08:55
Bonjour,

c'est dans ce Sub (Module1) que lisbox1 est remplie:
Sub RempliBoite()


Probleme: ce code n'est pas appele !!!!!!!!!!!!!!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
24 oct. 2014 à 11:48
Bonjour,

Pour initialiser la listBox où vous voulez, doublecliquez sur l'UserForm Dialogue et choisissez Initialize en haut à droite et collez ce code:


Private Sub UserForm_Initialize()
ListBox1.List() = Feuil4.Range("A2:A14").Value
End Sub


Là j'ai choisi les clients chargeur, a vous de voir ce que vous voulez afficher
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
24 oct. 2014 à 11:59
J'ai oublié dans le module1 changer ceci:

Sub Aller_Formulaire()
Sheets("Formulaire").Activate
Dialogue.Show
End Sub
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 oct. 2014 à 12:01
Bonjour,

Ce n'est pas si simple, le nom de la feuille pour remplir la listbox est ecrit par programme, mais le code qui doit remplir la listbox n'est pas appele, donc il manque une ligne de code quelque part, j'ai bien une idee, mais pourquoi cette ligne manque si ca marchait avant
0
J'ai essayé avec intitialize et vba me dit ça :
erreur d'éxecution '381'. Impossible de définir la prppriété List. Index de table de propriétés non valide.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
24 oct. 2014 à 15:27
allez dans le module1 et changer comme ceci:

Sub RempliBoite()
Dim table(15) As String
Dim i As Integer
Dim Nom1, Nom2, Nom3, Nomfeuille As String
        Nom1 = CStr(Day(Sheets("Formulaire").Cells(6, 5)))
        Nom2 = CStr(Month(Sheets("Formulaire").Cells(6, 5)))
        Nom3 = CStr(Year(Sheets("Formulaire").Cells(6, 5)))
        If Day(Sheets("Formulaire").Cells(6, 5)) < 10 Then
            Nom1 = "0" + Nom1
        End If
        If Month(Sheets("Formulaire").Cells(6, 5)) < 10 Then
            Nom2 = "0" + Nom2
        End If
Nomfeuille = Nom1 + Nom2 + Nom3
'MsgBox Nomfeuille
If Sheets(Nomfeuille).Cells(2, 1) <> "" Then
    For i = 2 To 15
        table(i - 1) = Sheets(Nomfeuille).Cells(i, 2)'ici 2 a la place du 5
    Next i
End If
Load Dialogue
Dialogue.ListBox1.List() = table
Dialogue.TextBox12 = "Date : " & CStr(Sheets("Formulaire").Cells(6, 5))
RAZ
'For i = 1 To 15
'    table(i) = ""
'Next i
'Dialogue.ListBox1.List() = table
AdaptationListe
Dialogue.Show
End Sub

0
Rebonjour,

J'ai fait tous les changement comme indiqués ci-dessus et le même message d'erreur apparaît toujours.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
28 oct. 2014 à 15:04
Je n'ai indiqué qu'un changement dans la macro Sub RempliBoite() :

  table(i - 1) = Sheets(Nomfeuille).Cells(i, 2)'ici 2 a la place du 5
    


Chez moi cela fonctionne, je n'ai aucun message d'erreur!
0