Problème de combobox!

Fermé
Biloute - 2 mars 2016 à 19:42
 Biloute - 9 mars 2016 à 15:19
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



5 réponses

Whismeril Messages postés 19030 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 avril 2024 931
2 mars 2016 à 19:46
Bonsoir,

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....
0
Pas faut! VBA excel ;)
0
Whismeril Messages postés 19030 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 avril 2024 931
3 mars 2016 à 08:00
Vba c'est pas mon fort, il va falloir attendre quelqu'un d'autre, mais il sera sûrement intérressé de voir le code que tu as déjà tenté.
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
0
Biloute > Whismeril Messages postés 19030 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 avril 2024
3 mars 2016 à 08:11
En tout cas Merci Whismeril.
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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
3 mars 2016 à 15:54
Bonjour,

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

0
Salut Pijaku,
Wouah!! J'aurais jamais penser a tout ça...
Je vais voir si ça marche. Je te tien au jus.
Bonne journée
Biloute
0
Salut Pikaju,
Pourquoi "Label"?
indClick_List_2 = indClick_List_2 + 1
Me.Controls("Label" & indClick_List_2) = ListBox2.List(ListBox2.ListIndex)
Merci pour l'info.
Biloute
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
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.

--
0
ç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

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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Biloute
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.
0
ça me vas Pikaju. No soucis for that!
Biloute
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Biloute
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
0
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
C'est pas pour du foot Pikaju. :)
Biloute
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
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à.
0
J'ai eu un peu de mal au début pour trouver. Mais super truc Merci Pijaku. Maintenant il me faut m'amuser a enregistrer les résultats sur une feuille pour chaque individus.
Génial en tout cas!!
0

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 744
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.
0
Bon weekend. N'abuse pas trop de la bière!! ;)
J'espère que lundi je te ferais voir le tableau final.
Biloute
0
Salut Pikaju,
Bon weekend?
Bon! Je suis un mauvais élève. Pas réussi et je me suis perdu dans tous ces codes. :/
Peut tu me donner les bases pour pouvoir avancer dans mon bricolage fait par toi!?
Biloute
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Biloute
8 mars 2016 à 12:39
Bonjour,

Que n'as tu pas compris?
0
La façon de mettre les valeurs des matchs "Noms et points dans leur case respective".
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!?
Biloute
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Biloute
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 :
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%
0