Problème de combobox!
Fermé
Bonjour,
Voila mon petit soucis:
J'ai 2 combobox avec les mêmes valeur "ligne des noms d'équipe" dans chaque colonne se trouvent des noms d'individu faisant partie de chaque équipes.
J'ai 24 autres combo a laquelle je voudrais donc en sélectionnant mes combobox 1 & 2 retrouvais mes lascars de chaque équipe mais je sélectionnerais moi même quel joueur...
J'espère me faire comprendre dans mon exposer. :)
Merci d'avance pour votre aide
Biloute
Voila mon petit soucis:
J'ai 2 combobox avec les mêmes valeur "ligne des noms d'équipe" dans chaque colonne se trouvent des noms d'individu faisant partie de chaque équipes.
J'ai 24 autres combo a laquelle je voudrais donc en sélectionnant mes combobox 1 & 2 retrouvais mes lascars de chaque équipe mais je sélectionnerais moi même quel joueur...
J'espère me faire comprendre dans mon exposer. :)
Merci d'avance pour votre aide
Biloute
A voir également:
- Problème de combobox!
- Vba combobox listindex ✓ - Forum VB / VBA
- Combobox ✓ - Forum VB / VBA
- Combobox additem ✓ - Forum VB / VBA
- Vba combobox selected item ✓ - Forum VB / VBA
- Javascript combobox - Forum Javascript
5 réponses
Utilisateur anonyme
2 mars 2016 à 19:46
2 mars 2016 à 19:46
Bonsoir,
ben non, il faudrait commencer par dire quel VB....
et si c'est VBA, word,excel, powerpoint....
J'espère me faire comprendre dans mon exposer. :)
ben non, il faudrait commencer par dire quel VB....
- VBS
- VB6
- VB.Net
- VBA
et si c'est VBA, word,excel, powerpoint....
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
3 mars 2016 à 15:54
3 mars 2016 à 15:54
Bonjour,
Un exemple avec des listbox.
Je trouve plus simple à programmer que 48 combobox...
Le code :
Un exemple avec des listbox.
Je trouve plus simple à programmer que 48 combobox...
Le code :
Option Explicit Dim rngEquipes As Range Dim strRngEquip_1 As String Dim strRngEquip_2 As String Dim Colonne_1 As String Dim Colonne_2 As String Dim indClick_List_1 As Integer Dim indClick_List_2 As Integer Private Sub UserForm_Initialize() indClick_List_2 = 24 Set rngEquipes = Sheets("Feuil1").Range("A1:J1") ComboBox1.List = Application.Transpose(rngEquipes.Value) ComboBox2.List = Application.Transpose(rngEquipes.Value) End Sub Private Sub ComboBox1_Change() Dim Col As Integer Dim rngEquip_1 As Range If ComboBox1 = "" Then Exit Sub Col = rngEquipes.Find(ComboBox1).Column Colonne_1 = Chr(Col + 64) With Sheets("Feuil1") Set rngEquip_1 = .Range(.Cells(2, Col), .Cells(25, Col)) strRngEquip_1 = Developpe_Adresse(rngEquip_1) ListBox1.List = rngEquip_1.Value End With End Sub Private Sub ComboBox2_Change() Dim Col As Integer Dim rngEquip_2 As Range If ComboBox2 = "" Then Exit Sub Col = rngEquipes.Find(ComboBox2).Column Colonne_2 = Chr(Col + 64) With Sheets("Feuil1") Set rngEquip_2 = .Range(.Cells(2, Col), .Cells(25, Col)) strRngEquip_2 = Developpe_Adresse(rngEquip_2) ListBox2.List = rngEquip_2.Value End With End Sub Private Sub ListBox1_Click() Dim rng As Range, strRng As String, Ligne As Long indClick_List_1 = indClick_List_1 + 1 Me.Controls("Label" & indClick_List_1) = ListBox1.List(ListBox1.ListIndex) Ligne = Sheets("Feuil1").Columns(Colonne_1).Find(ListBox1.List(ListBox1.ListIndex)).Row strRngEquip_1 = Replace(strRngEquip_1, "$" & Colonne_1 & "$" & Ligne & ",", "") If strRngEquip_1 = "" Then Exit Sub strRng = Left(strRngEquip_1, Len(strRngEquip_1) - 1) ListBox1.Clear Set rng = Sheets("Feuil1").Range(strRng) Rempli_Liste ListBox1, rng End Sub Private Sub ListBox2_Click() Dim rng As Range, strRng As String, Ligne As Long indClick_List_2 = indClick_List_2 + 1 Me.Controls("Label" & indClick_List_2) = ListBox2.List(ListBox2.ListIndex) Ligne = Sheets("Feuil1").Columns(Colonne_2).Find(ListBox2.List(ListBox2.ListIndex)).Row strRngEquip_2 = Replace(strRngEquip_2, "$" & Colonne_2 & "$" & Ligne & ",", "") If strRngEquip_2 = "" Then Exit Sub strRng = Left(strRngEquip_2, Len(strRngEquip_2) - 1) ListBox2.Clear Set rng = Sheets("Feuil1").Range(strRng) Rempli_Liste ListBox2, rng End Sub Public Function Developpe_Adresse(rng As Range) As String Dim Cel As Range, strTmp As String For Each Cel In rng strTmp = strTmp & "," & Cel.Address Next Cel Developpe_Adresse = Right(strTmp, Len(strTmp) - 1) & "," End Function Private Sub Rempli_Liste(Liste As MsForms.ListBox, rng As Range) Dim Cel As Range For Each Cel In rng Liste.AddItem Cel.Value Next Cel End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
3 mars 2016 à 19:24
3 mars 2016 à 19:24
pourquoi label?
parce que les noms, une fois cliqués dans la liste sont inscrits dans des labels.
Maintenant, j'ai besoin de savoir si cette méthode te conviens. il s'agit d'un premier jet qui laisse pas mal d'erreurs et est incomplet.
Si cela te va, je reviens demain le compléter et corriger.
--
parce que les noms, une fois cliqués dans la liste sont inscrits dans des labels.
Maintenant, j'ai besoin de savoir si cette méthode te conviens. il s'agit d'un premier jet qui laisse pas mal d'erreurs et est incomplet.
Si cela te va, je reviens demain le compléter et corriger.
--
ça s'affiche bien dans les listeBox. Mais quand je clic sur la LBX2. cà m'affiche :
Erreur d'éxécution -2147024809(80070057) objet spécifié introuvable. La LBX1 vas bien
J'ai tenté de voir si j'avais bien tout modifié. Mais....!?
Biloute
Erreur d'éxécution -2147024809(80070057) objet spécifié introuvable. La LBX1 vas bien
J'ai tenté de voir si j'avais bien tout modifié. Mais....!?
Biloute
Private Sub ListBox2_Click() Dim rng As Range, strRng As String, Ligne As Long indClick_List_2 = indClick_List_2 + 1 Me.Controls("Label" & indClick_List_2) = ListBox2.List(ListBox2.ListIndex) Ligne = Sheets("Equipe").Columns(Colonne_2).Find(ListBox2.List(ListBox2.ListIndex)).Row strRngEquip_2 = Replace(strRngEquip_2, "$" & Colonne_2 & "$" & Ligne & ",", "") If strRngEquip_2 = "" Then Exit Sub strRng = Left(strRngEquip_2, Len(strRngEquip_2) - 1) ListBox2.Clear Set rng = Sheets("Equipe").Range(strRng) Rempli_Liste ListBox2, rng End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
>
Biloute
Modifié par pijaku le 4/03/2016 à 08:01
Modifié par pijaku le 4/03/2016 à 08:01
Bonjour,
La question n'est pas là. Relis mon dernier message :
Maintenant, j'ai besoin de savoir si cette méthode te convient.
il s'agit d'un premier jet qui laisse pas mal d'erreurs et est incomplet.
Si cela te va, je reviens demain le compléter et corriger.
La question n'est pas là. Relis mon dernier message :
Maintenant, j'ai besoin de savoir si cette méthode te convient.
il s'agit d'un premier jet qui laisse pas mal d'erreurs et est incomplet.
Si cela te va, je reviens demain le compléter et corriger.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
>
Biloute
4 mars 2016 à 08:07
4 mars 2016 à 08:07
ok.
Je reviens donc tout à l'heure avec un nouveau code, mieux organisé.
Parmi les modifs notables :
- un click sur un label remettra le nom du joueur dans la liste
- tu pourras choisir la "catégorie" de joueur (gardien, attaquants,...) à compléter plutôt que de les remplir dans l'ordre
Je reviens donc tout à l'heure avec un nouveau code, mieux organisé.
Parmi les modifs notables :
- un click sur un label remettra le nom du joueur dans la liste
- tu pourras choisir la "catégorie" de joueur (gardien, attaquants,...) à compléter plutôt que de les remplir dans l'ordre
Biloute
>
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
4 mars 2016 à 08:28
4 mars 2016 à 08:28
C'est pas pour du foot Pikaju. :)
Biloute
Biloute
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
4 mars 2016 à 14:54
4 mars 2016 à 14:54
Bon.
Dis moi ce que tu en penses sincèrement :
https://www.cjoint.com/c/FCen0U3wYKE
Il faut :
dans le module1 régler les constantes
Essayer dans l'userform
Il reste des défauts, mais l'essentiel (sauf le bouton enregistrer) est là.
Dis moi ce que tu en penses sincèrement :
https://www.cjoint.com/c/FCen0U3wYKE
Il faut :
dans le module1 régler les constantes
Essayer dans l'userform
Il reste des défauts, mais l'essentiel (sauf le bouton enregistrer) est là.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
4 mars 2016 à 16:47
4 mars 2016 à 16:47
Le Fichier
Les enregistrements se font feuille Matchs
Tu peux changer les noms dans la première ligne, mais pas changer l'ordre des colonnes
A lundi pour la suite.
Les enregistrements se font feuille Matchs
Tu peux changer les noms dans la première ligne, mais pas changer l'ordre des colonnes
A lundi pour la suite.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
>
Biloute
8 mars 2016 à 12:39
8 mars 2016 à 12:39
Bonjour,
Que n'as tu pas compris?
Que n'as tu pas compris?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 755
>
Biloute
8 mars 2016 à 12:53
8 mars 2016 à 12:53
1- j'me suis fait une variable tableau qui reprend tous les contrôles dont tu veux sauvegarder le contenu :
J'ai gardé le même ordre que cet array pour les entêtes des colonnes.
Du coup, je n'ai plus qu'à boucler sur la variable tableau pour placer les valeurs.
2- Ex: daniel a gagner et a 2 pts sur trois manches donc il a 33.33% environ. et ainsi de suite. Complexe mais possible non!?
2a- pas compris... Tu veux des stats sur les joueurs?
2b- 2/3 = 66%
Liste_Controles_Ordonnee = Array("ComboEquipe1", "ComboEquipe2", "Score_Eq1", "Score_Eq2", "LabE1_J1", "LabE1_J2", "LabE1_J3", "LabE1_J4", "LabE1_J5", "LabE1_J6", "LabE1_J7", "LabE1_J8", "LabE2_J1", "LabE2_J2", "LabE2_J3", "LabE2_J4", "LabE2_J5", "LabE2_J6", "LabE2_J7", "LabE2_J8", "CBScoreEq1_Match1", "CBScoreEq1_Match2", "CBScoreEq1_Match3", "CBScoreEq1_Match4", "CBScoreEq1_Match5", "CBScoreEq1_Match6", "CBScoreEq1_Match7", "CBScoreEq1_Match8", "CBScoreEq2_Match1", "CBScoreEq2_Match2", "CBScoreEq2_Match3", "CBScoreEq2_Match4", "CBScoreEq2_Match5", "CBScoreEq2_Match6", "CBScoreEq2_Match7", "CBScoreEq2_Match8", "LabDoublesE1_M1", "LabDoublesE2_M1", "CBScoreEq1_MatchD1", "CBScoreEq2_MatchD1", "LabDoublesE1_M2", "LabDoublesE2_M2", "CBScoreEq1_MatchD2", "CBScoreEq2_MatchD2")
J'ai gardé le même ordre que cet array pour les entêtes des colonnes.
Du coup, je n'ai plus qu'à boucler sur la variable tableau pour placer les valeurs.
2- Ex: daniel a gagner et a 2 pts sur trois manches donc il a 33.33% environ. et ainsi de suite. Complexe mais possible non!?
2a- pas compris... Tu veux des stats sur les joueurs?
2b- 2/3 = 66%
Modifié par Biloute le 2/03/2016 à 20:24
3 mars 2016 à 08:00
Voir ici la procédure pour poster un code:
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code%20la%20coloration%20syntaxique
3 mars 2016 à 08:11
Je n'ai pas encore cette partie.J'ai juste balancer quelques codes. Mais elles sont basic.
C'était juste pour l'idée code de démarrage ou trouver le bon tuto.
A plus
Biloute