Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Optionbutton à gogo !

Climaudo

XLDnaute Occasionnel
Bonjour à tous,

Je viens vers vous pour trouver une solution afin de simplifier un code initialement écrit avec une succession importante de if...then...end if.

J'ai sur un USF un bloc de 86 optionbutton repartis en frame de 6 ou 7 boutons. Selon la valeur de la cellule dans la base de données, je souhaiterais avoir le bon optionbutton coché.

Toutes les explications sont précisées dans le fichier joint.

Merci par avance pour votre aide et vos solutions.

Climaudo
 

Pièces jointes

  • Programme_notation.zip
    43 KB · Affichages: 32
  • Programme_notation.zip
    43 KB · Affichages: 30
  • Programme_notation.zip
    43 KB · Affichages: 31

Spitnolan08

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Bonsoir,
Je viens vers vous pour trouver une solution afin de simplifier un code initialement écrit avec une succession importante de if...then...end if.
C'est bien, mais il n'y a aucun code correspondant... Pour le simplifier, il faudrait déjà en connaître le contenu.

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Bonsoir


C'est de ca que Climaudo parle (non?)

Dans une première version, j'avais fait une succession de condition du type :
if tabplage(l, 41)="1" then
optionbutton1.value=true
end if

if tabplage (l,41)="2" then
optionbutton2.value=true
end if

et pourtant j'ai pas mes lunettes sur le nez (lol)
 

Climaudo

XLDnaute Occasionnel
Re : Optionbutton à gogo !

Bonsoir Spitnolan08 et stapl1600,

J'ai rajouté le code en if...then dans la procédure pour le 1er frame, et cela continue pour toutes les possibilités sur les 86 optionbutton.

Merci
 

Pièces jointes

  • Programme_notation.zip
    43.8 KB · Affichages: 31
  • Programme_notation.zip
    43.8 KB · Affichages: 32
  • Programme_notation.zip
    43.8 KB · Affichages: 35

Spitnolan08

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Bonsoir Stapple,

Je te remercie de me preter tes lunettes....
Cependant ce n'est qu'un petit, tout petit bout de code.
Et comme ça je ne vois pas bien comment éviter des If... En supprimer peut être... A condition d'avoir le code complet pour un critère de jugement.

Mais si tu sais faire : carte blanche
Cordialement

Edit : Pas vu Climaudo...
 

Staple1600

XLDnaute Barbatruc
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Re,
->Spitnolan08: c'était pas méchant (sans rancune?)
Mais non, ne t'inquiètes pas... No souci, même si visiblement ma réponse t'a heurté. Ce n'était pas le but.

Climaudo,
Si j'ai bien compris le fonctionnement, Essaie un truc du style (non testé):
Code:
Dim A as  byte 
For i =0 to 13
A = tabplage(l, 41+i)
Controls("OptionButton" & i & A).Value = True
Next
après avoir renommé tes optionButton 1 à 7 pour le 1er frame, 11 à 17 pour le 2ème etc...

Cordialement

Edit : Stapple, tes lunettes sont hyper performantes ce soir, je m'incline bien bas.
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Re,
Frame(x).Controls("OptionButton" & i & A).Value=true
J'y ai pensé mais je ne vois pas ce que ça apporte car 2 optionbutton ne peuvent avoir le même nom.... donc à priori pas de simplification à attendre avec cette précision, si tant est que ça fonctionne.

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Re

Ca m'a juste apporté le plaisir de cogiter avec VBA

aprés avoir fini mon fromage


Pour ma part j'avais jamais vu un troupeau de 86 OptionButton en liberté... (lol)
 
Dernière édition:

Climaudo

XLDnaute Occasionnel
Re : Optionbutton à gogo !

Re

Spitnolan : j'ai essayé avec ton code en modifiant les noms des boutons, mais cela ne donne pas le résultat voulu. je ne comprends pas la fonction du i ? il correspond à la valeur de la cellule ?

Staple : les 86 boutons correspondent à une grille de notation sur plusieurs critères (les frames) et avec plusieurs notes possibles (R, S, B, P, I, NO ou exempt uniquement pour les 2 premières lignes)

Pour reprendre, la valeur de la colonne AO conditionne le bouton de la première ligne (optionbutton1, 2, 3, 4, 5, 6, 7), la colonne AP le bouton de la seconde ligne (optionbutton 8, 9,..., 14), et ainsi de suite...

Me vient une idée : renommer les boutons selon leur ligne :
ligne 1 (1er frame) : optionbuttonA1, optionbuttonA2, ..., optionbuttonA7
ligne 2 (2nd frame) : optionbuttonB1, optionbuttonB2, ..., optionbuttonB7
...
et faire reconnaître le bouton à activer en comparant la valeur de la cellule et le dernier caractère du nom du bouton ??? mais je n'arrive pas à le formuler du style :
si tabplage(l,41)=dernier caractère du nom d'un bouton dans le frame alors activer ce bouton
si tabplage(l,42=dernier caractère du nom d'un bouton dans le 2nd frame alors activer ce bouton
...

En tout cas merci pour votre aide.

Edit: je viens de comprendre le i, c'est le nombre de colonne à tester, sorry
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Re


Je viens de regarder plus en détails ton userform.


[aparté]:j'ose espèrer que tu as déclaré ton fichier à la CNIL...[/aparté]

Pour revenir à la question

La solution de Spitnolan08 semblait intéressante.
 
Dernière édition:

Climaudo

XLDnaute Occasionnel
Re : Optionbutton à gogo !

En effet, je n'avais pas vu cette modif, et maintenant je comprends que cela revient à ce que je viens seulement de penser et proposer .... ou comment se rendre compte qu'on propose une idée déjà soumise et travaillée !!!

désolé, je remets en place ton code et te tiens au courant.

merci
 

Spitnolan08

XLDnaute Barbatruc
Re : Optionbutton à gogo !

Re,
Dans le même temps, j'ai testé ma solution qui fonctionne parfaitement sur ton fichier...

Ne pas oublier : pour le 1er frame : OptionButton01, 02, 03...
Pour le frame 2 : OptionButton11, 12, 13...

Cordialement
 

Discussions similaires

Réponses
11
Affichages
578
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…