Listbox
Fermé
amram.a
Messages postés
56
Date d'inscription
dimanche 19 mars 2017
Statut
Membre
Dernière intervention
19 avril 2017
-
1 avril 2017 à 17:49
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 4 avril 2017 à 12:25
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 4 avril 2017 à 12:25
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
1 avril 2017 à 19:11
1 avril 2017 à 19:11
Bonjour Amram.a, bonjour le forum,
Très étrange ton f = 0. C'est incompatible avec Range(f.[A5], f.[A70].End(xlUp)). je pense que tu voulais plutôt initialiser i mais ce n'est pas nécessaire, donc cette ligne est à supprimer...
Ensuite, tu recherches dans les cellules de la colonne A une valeur décalée de deux colonnes à droite (=> colonne C) et tu dis que la ville se trouve en colonne H. Il est donc normal que ça n'affiche rien. De A à H ça donne Offset(0, 7) et pas Offset(0, 2)... Le code devrait être :
Très étrange ton f = 0. C'est incompatible avec Range(f.[A5], f.[A70].End(xlUp)). je pense que tu voulais plutôt initialiser i mais ce n'est pas nécessaire, donc cette ligne est à supprimer...
Ensuite, tu recherches dans les cellules de la colonne A une valeur décalée de deux colonnes à droite (=> colonne C) et tu dis que la ville se trouve en colonne H. Il est donc normal que ça n'affiche rien. De A à H ça donne Offset(0, 7) et pas Offset(0, 2)... Le code devrait être :
Private Sub ComboBox1_Change() Dim cherche As String Dim f As Worksheet Dim a As Integer Dim C As Range Dim i As Integer cherche = ComboBox1.Value Me.ListBox1.Clear Set f = Sheets("IDENTIFICATION") For Each C In Range(f.[A5], f.[A70].End(xlUp)) If C.Offset(0, 7) = Me.ComboBox1 Then Me.ListBox1.AddItem Me.ListBox1.List(i, 0) = C.Value i = i + 1 End If Next C End Sub
amram.a
Messages postés
56
Date d'inscription
dimanche 19 mars 2017
Statut
Membre
Dernière intervention
19 avril 2017
Modifié le 1 avril 2017 à 23:42
Modifié le 1 avril 2017 à 23:42
Mais j'ais un petit soucis
tous les colonne n'affiches pas .
voici si dessous la liste
CODE , ODRE ALPHABETIQUE, NOM & PRÉNOMS, DATE, LIEU, N° CNI OU EXTRAIS, VILLE D'ORIGINE, RESID-ACT, SITUATION FAMILIALE, CONJOINT(E), DATE, LIEU, NBRE D'ENFTS, DATE, LIEU, LIEU DE CULTE, BAPTISE(E), DATE, LIEU, N° L DE MBRE, EGLISE, SOCIALE, TEL, CEL, ADRESSE ELECTRONIQUE
mais j'ais remarqué qu'après la colonne J (SITUATION FAMILIALE) ça ne continus plus
merci d'avance
tous les colonne n'affiches pas .
voici si dessous la liste
CODE , ODRE ALPHABETIQUE, NOM & PRÉNOMS, DATE, LIEU, N° CNI OU EXTRAIS, VILLE D'ORIGINE, RESID-ACT, SITUATION FAMILIALE, CONJOINT(E), DATE, LIEU, NBRE D'ENFTS, DATE, LIEU, LIEU DE CULTE, BAPTISE(E), DATE, LIEU, N° L DE MBRE, EGLISE, SOCIALE, TEL, CEL, ADRESSE ELECTRONIQUE
mais j'ais remarqué qu'après la colonne J (SITUATION FAMILIALE) ça ne continus plus
merci d'avance
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
2 avril 2017 à 01:26
2 avril 2017 à 01:26
Re,
En pièce jointe, un exemple avec code commenté d'une méthode très rapide. La propriété [RowSource] de la Combobox1 et de la ListBox1 est vierge. Cette propriété est incompatible avec cette méthode...
https://www.cjoint.com/c/GDbxx02WMYR
En pièce jointe, un exemple avec code commenté d'une méthode très rapide. La propriété [RowSource] de la Combobox1 et de la ListBox1 est vierge. Cette propriété est incompatible avec cette méthode...
https://www.cjoint.com/c/GDbxx02WMYR
amram.a
Messages postés
56
Date d'inscription
dimanche 19 mars 2017
Statut
Membre
Dernière intervention
19 avril 2017
2 avril 2017 à 22:37
2 avril 2017 à 22:37
merci je vais voir
amram.a
Messages postés
56
Date d'inscription
dimanche 19 mars 2017
Statut
Membre
Dernière intervention
19 avril 2017
Modifié le 4 avril 2017 à 00:22
Modifié le 4 avril 2017 à 00:22
voilà ce que j'ai puis faire mais ça ne passe pas
cherche = ComboBox1.Value
Me.ListBox1.Clear
Set f = Sheets("IDENTIFICATION")
For Each C In Range(f.[A5], f.[A70].End(xlUp))
If C.Offset(0, 7) = Me.ComboBox1 Then
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = C.Value
Me.ListBox1.List(i, 1) = C.Offset(0, 1)
Me.ListBox1.List(i, 2) = C.Offset(0, 2)
Me.ListBox1.List(i, 3) = C.Offset(0, 3)
Me.ListBox1.List(i, 4) = C.Offset(0, 4)
Me.ListBox1.List(i, 5) = C.Offset(0, 5)
Me.ListBox1.List(i, 6) = C.Offset(0, 6)
Me.ListBox1.List(i, 7) = C.Offset(0, 7)
Me.ListBox1.List(i, 8) = C.Offset(0, 8)
Me.ListBox1.List(i, 9) = C.Offset(0, 9)
Me.ListBox1.List(i, 7) = C.Offset(0, 7)
Me.ListBox1.List(i, 8) = C.Offset(0, 8)
Me.ListBox1.List(i, 9) = C.Offset(0, 9)
Me.ListBox1.List(i, 9) = C.Offset(0, 10)
Me.ListBox1.List(i, 9) = C.Offset(0, 11)
Me.ListBox1.List(i, 9) = C.Offset(0, 12)
Me.ListBox1.List(i, 9) = C.Offset(0, 13)
Me.ListBox1.List(i, 9) = C.Offset(0, 14)
Me.ListBox1.List(i, 9) = C.Offset(0, 15)
Me.ListBox1.List(i, 9) = C.Offset(0, 16)
Me.ListBox1.List(i, 9) = C.Offset(0, 17)
Me.ListBox1.List(i, 9) = C.Offset(0, 18)
Me.ListBox1.List(i, 9) = C.Offset(0, 19)
Me.ListBox1.List(i, 9) = C.Offset(0, 20)
Me.ListBox1.List(i, 9) = C.Offset(0, 21)
Me.ListBox1.List(i, 9) = C.Offset(0, 22)
Me.ListBox1.List(i, 9) = C.Offset(0, 23)
Me.ListBox1.List(i, 9) = C.Offset(0, 24)
Me.ListBox1.List(i, 9) = C.Offset(0, 25)
i = i + 1
End If
Next C
End Sub
https://www.cjoint.com/c/GDdwvFKOH2h
cherche = ComboBox1.Value
Me.ListBox1.Clear
Set f = Sheets("IDENTIFICATION")
For Each C In Range(f.[A5], f.[A70].End(xlUp))
If C.Offset(0, 7) = Me.ComboBox1 Then
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = C.Value
Me.ListBox1.List(i, 1) = C.Offset(0, 1)
Me.ListBox1.List(i, 2) = C.Offset(0, 2)
Me.ListBox1.List(i, 3) = C.Offset(0, 3)
Me.ListBox1.List(i, 4) = C.Offset(0, 4)
Me.ListBox1.List(i, 5) = C.Offset(0, 5)
Me.ListBox1.List(i, 6) = C.Offset(0, 6)
Me.ListBox1.List(i, 7) = C.Offset(0, 7)
Me.ListBox1.List(i, 8) = C.Offset(0, 8)
Me.ListBox1.List(i, 9) = C.Offset(0, 9)
Me.ListBox1.List(i, 7) = C.Offset(0, 7)
Me.ListBox1.List(i, 8) = C.Offset(0, 8)
Me.ListBox1.List(i, 9) = C.Offset(0, 9)
Me.ListBox1.List(i, 9) = C.Offset(0, 10)
Me.ListBox1.List(i, 9) = C.Offset(0, 11)
Me.ListBox1.List(i, 9) = C.Offset(0, 12)
Me.ListBox1.List(i, 9) = C.Offset(0, 13)
Me.ListBox1.List(i, 9) = C.Offset(0, 14)
Me.ListBox1.List(i, 9) = C.Offset(0, 15)
Me.ListBox1.List(i, 9) = C.Offset(0, 16)
Me.ListBox1.List(i, 9) = C.Offset(0, 17)
Me.ListBox1.List(i, 9) = C.Offset(0, 18)
Me.ListBox1.List(i, 9) = C.Offset(0, 19)
Me.ListBox1.List(i, 9) = C.Offset(0, 20)
Me.ListBox1.List(i, 9) = C.Offset(0, 21)
Me.ListBox1.List(i, 9) = C.Offset(0, 22)
Me.ListBox1.List(i, 9) = C.Offset(0, 23)
Me.ListBox1.List(i, 9) = C.Offset(0, 24)
Me.ListBox1.List(i, 9) = C.Offset(0, 25)
i = i + 1
End If
Next C
End Sub
https://www.cjoint.com/c/GDdwvFKOH2h
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
>
amram.a
Messages postés
56
Date d'inscription
dimanche 19 mars 2017
Statut
Membre
Dernière intervention
19 avril 2017
4 avril 2017 à 12:25
4 avril 2017 à 12:25
Bonjour Amram.a, bonjour le forum,
Tu n'as absolument pas utilisé la méthode que je t'ai proposée !?...
Ton fichier modifié à télécharger. J'ai supprimé la propriété [ColumnHeads] non compatible avec cette méthode mais le code affiche la ligne des étiquettes. J'ai aussi supprimé la propriété [ColumnCount] qui est définie à l'initialisation de l'UserForm.
Il n'y a qu'une seule procédure d'initialisation pour une UserForm. Initialise_2 n'existe pas et ne fonctionnera pas !... Je l'ai supprimée aussi. Code commenté...
Tu remarqueras que la première colonne de la ListBox1 est cachée. Elle contient le numéro de ligne. Cela permet de retrouver dans la tableau la ligne d'un élément sélectionne de la ListBox1. Tu ne t'en sers visiblement pas mais c'est juste pour que tu comprennes. Imaginons que tu aies la procédure DblClick de la LisTbox1, la variable Ligne te permet de d'accéder à la ligne de l'élément double-cliqué (plus 4 car la première ligne du tableau commence à la ligne 5...) :
Le fichier :
https://www.cjoint.com/c/GDekl5DxDcc
Tu n'as absolument pas utilisé la méthode que je t'ai proposée !?...
Ton fichier modifié à télécharger. J'ai supprimé la propriété [ColumnHeads] non compatible avec cette méthode mais le code affiche la ligne des étiquettes. J'ai aussi supprimé la propriété [ColumnCount] qui est définie à l'initialisation de l'UserForm.
Il n'y a qu'une seule procédure d'initialisation pour une UserForm. Initialise_2 n'existe pas et ne fonctionnera pas !... Je l'ai supprimée aussi. Code commenté...
Tu remarqueras que la première colonne de la ListBox1 est cachée. Elle contient le numéro de ligne. Cela permet de retrouver dans la tableau la ligne d'un élément sélectionne de la ListBox1. Tu ne t'en sers visiblement pas mais c'est juste pour que tu comprennes. Imaginons que tu aies la procédure DblClick de la LisTbox1, la variable Ligne te permet de d'accéder à la ligne de l'élément double-cliqué (plus 4 car la première ligne du tableau commence à la ligne 5...) :
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim Ligne As Long With Me.ListBox1 Ligne = CInt(.Column(0, .ListIndex)) + 4 End With End Sub
Le fichier :
https://www.cjoint.com/c/GDekl5DxDcc
Modifié le 1 avril 2017 à 22:08
une fois de plus encore merci
ça marche parfaitement