formulaire OptionButton ComboBox remplissage en cascade

ivan27

XLDnaute Occasionnel
Bonjour à tous,

Je souhaite faire évoluer mon formulaire mais ne trouvant pas de réponse précise à mes interrogations, je me permets à nouveau de solliciter votre aide.
J’ai ajouté 2 optionbutton et 3 combobox.
Les optionbutton sont utilisés pour spécifier un genre (masculin ou féminin) et le choix est reporté colonne 13 de la feuille BASE.

Mon souhait :

- Que la ComboBox1 se remplisse automatiquement et sans doublon des valeurs inscrites en colonne B de la feuille CATEGORIE.
- Que la ComboBox2 se remplisse (en cascade) avec les valeurs de la colonne C de la feuille CATEGORIE, en fonction du choix de la ComboBox1 et de l’OptionButton.
- Que la ComboBox3 se remplisse automatiquement par une valeur de la colonne G de la feuille CATEGORIE, en fonction de la valeur de la TextBox “Date_Naissance”
- Que le contenu des ComboBox 1, 2 et 3 se transfert sur la feuille BASE dans les colonnes 14, 15 et 16.

Merci d’avance pour votre aide et bonne journée

Ivan
 

Pièces jointes

  • test.xlsm
    131.8 KB · Affichages: 86
  • test.xlsm
    131.8 KB · Affichages: 93
  • test.xlsm
    131.8 KB · Affichages: 94

Bebere

XLDnaute Barbatruc
Re : formulaire OptionButton ComboBox remplissage en cascade

bonjour ivan
voilà une possibilité
Il y a des msgbox si pas de genre ou/et de date
 

Pièces jointes

  • test.xlsm
    45.6 KB · Affichages: 108
  • test.xlsm
    45.6 KB · Affichages: 112
  • test.xlsm
    45.6 KB · Affichages: 103

ivan27

XLDnaute Occasionnel
Re : formulaire OptionButton ComboBox remplissage en cascade

Bonjour Bebere, re-bonjour le forum,

Je te remercie pour ta proposition.
Cependant, je suis sur Excel MAC. Aurais-tu une solution sans utiliser les dictionnaires ?
Bien cordialement,

Ivan
 

Bebere

XLDnaute Barbatruc
Re : formulaire OptionButton ComboBox remplissage en cascade

ivan avec ce code

Code:
        For i = 1 To UBound(Tbl)
                 Me.ComboBox1 = Tbl(i, C)
           If Me.ComboBox1.ListIndex = -1 Then
                Me.ComboBox1.AddItem Tbl(i, C)
            End If
            '            d(Tbl(i, C)) = Tbl(i, C)    'B
        Next i
        '        Me.ComboBox1.List = d.Items
        Me.ComboBox1.ListIndex = -1
 

ivan27

XLDnaute Occasionnel
Re : formulaire OptionButton ComboBox remplissage en cascade

Bonjour Bebere, le Forum,

Bebere, je n'arrive pas à m'en sortir...
C'est toute la procédure IniCbo qu'il faut remplacer par ce code ou uniquement une partie ?
Bien cordialement,
Ivan
 

ivan27

XLDnaute Occasionnel
Re : formulaire OptionButton ComboBox remplissage en cascade

Bonsoir Bebere, le Forum,

Après plusieurs tentatives, je n'arrive pas à faire fonctionner ton code sur MAC.
Comme le fichier final sera exécuté sur PC, je me suis fait prêter un portable sous windows et excel 2013 pour poursuivre.
Je viens de tester ta première proposition qui fonctionne parfaitement.
Merci pour le format du champs "Date de Naissance" qui constitue un plus par rapport à ma demande initiale.
Concernant la comboBox3, je me suis probablement mal expliqué. En fait, cette comboBox3 (qui pourrait être remplacée par une textBox), doit imposer une seule valeur selon la table d'équivalence de la page catégorie. Par exemple, si l'année de naissance = 2005, elle doit imposer la valeur "Age4", si date de naissance = 1992 elle doit imposer la valeur "Age9" ou si l'année de naissance est égale ou antérieure à 1976, elle doit imposer "Age10".
Peux-tu apporter cette modification sur ta proposition initiale ?
Bien cordialement et bonne soirée.
Ivan
 

Si...

XLDnaute Barbatruc
Re : formulaire OptionButton ComboBox remplissage en cascade

Salut

voir si... ton Mac* accepte ces tours de passe...passe : contrôles renommés en fonctions des cellules qu'ils affectent**, listes recomposées (avec utilisation de la fonction Tableau), Groupe en fonction de l'âge (pas sûr d'avoir bien interprété), Poids en fonction du sexe et de la catégorie, Catégorie indépendante (?).

* qui semble ne pas aimer les accents
** programmation simplifiée. Pas eu le temps de tout tester et de peaufiner (bouton masqués ou pas en fonction de l'action choisie)
 

Pièces jointes

  • Gestion Avec Usf.xlsm
    61.8 KB · Affichages: 68

ivan27

XLDnaute Occasionnel
Re : formulaire OptionButton ComboBox remplissage en cascade

Bonjour Si..., le Forum,

Merci pour ta proposition.
A priori, ton interprétation est bonne.
Voici mes premiers constats :
- Le formulaire se lance sans erreur
- ListBox M/F n'est pas vide par défaut
- Le choix d'une fiche provoque une erreur d'exécution "380" : Impossible de définir la propriété Value. Valeur de propriété non valide. sur cette ligne : For i = 1 To 16: Me("T" & i) = F.Cells(L, i).Value: Next
- La textBox T4 qui devrait renvoyer un age, renvoit une date.
Bien cordialement et bonne journée
Ivan
 

Bebere

XLDnaute Barbatruc
Re : formulaire OptionButton ComboBox remplissage en cascade

bonjour Ivan,Si
pour moi c'est l'année F et le sexe A qui impose le groupe G et le poids C et la catégorie B
edit:fichier joint
entrer une date,choix h/f,choix année, les textbox sont remplies,l'index ligne est mis dans colonne 2(largeur mis à 0) de combobox2
 

Pièces jointes

  • testivanV1.xlsm
    42.9 KB · Affichages: 51
Dernière édition:

ivan27

XLDnaute Occasionnel
Re : formulaire OptionButton ComboBox remplissage en cascade

Bonjour Bebere, Si..., le Forum,

Merci Bebere pour cette nouvelle proposition. Je te prie de bien vouloir m'excuser si je me suis mal expliqué mais le résultat n'est pas celui escompté... Je vais essayé d'Etre plus clair :

Dans une première ComboBox, je sélectionne le genre (masculin ou féminin).
Une seconde ComboBox doit me proposer la liste des catégories liées au genre (feuille CATEGORIE, colonne B)
Après selection d'une catérorie dans cette seconde ComboBox, une troisème ComboBox doit me proposer la liste des poids liés au groupe GENRE / CATEGORIE. (Feuille CATEGORIE, colonne C).
Par exemple, si j'ai selectionné Masculin puis Cat2 la troisième Combobox propose comme choix :
- 55 kg
- 60 kg
- 66 kg
- 73 kg
- 81 kg
- 90 kg
- 100 kg
+ 100 kg
Enfin, un champs doit afficher automatiquement une donnée de la feuille GABARIT, colonne G en fonction de la date de naissance inscrite feuille BASE, colonne C ou dans la textBox Date_Naissance.
Par exemple :
- né en 2005, la TextBox affiche Age4
- né en 1997, la TextBox affiche Age7
- né en 1985, la TextBox affiche Age9
- né en 1976 (ou avant), la textBox affiche Age10

Souhaitant avoir été plus précis quant au résultat attendu...
A bientôt,

Ivan
 

Si...

XLDnaute Barbatruc
Re : formulaire OptionButton ComboBox remplissage en cascade

re

Si... tu as fait les tests sur un autre fichier, as-tu les mêmes formats (âge) ?
Si oui, ton Mac n'est pas sympa avec moi.

Quelqu'un aurait-il eu les mêmes problèmes (sans Mac) ?
 

ivan27

XLDnaute Occasionnel
Re : formulaire OptionButton ComboBox remplissage en cascade

Bonsoir Bebere, Si..., le Forum,

Mon problème est résolu.
Merci à vous deux pour votre implication.
Si..., j'ai testé ton fichier sur PC avec excel 2013 et il fonctionne très bien. (La version 2011 sur MAC est capricieuse dans bien des cas et si tu ne l'as pas pour effectuer des tests, c'est bien compliqué d'avoir un résultat correct)
Je crois notamment que les listBox ne sont pas prises en charge.
Je réitère mes remerciements.
Bonne soirée à tous,

Ivan
 

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 236
dernier inscrit
Menni