Userform récupérer le nom de l'optionbutton en fonction de son caption

titiborregan5

XLDnaute Accro
Bonjour à tous,

j'ai un petit problème, que je pourrais contourner (notamment avec un if) mais je pense qu'on peut faire plus simplement!
J'ai un frame (Rec_Type_recette) avec 2 optionbuttons :
Optionbutton1 : nom= Rec_O_fléchée ; caption= Recette fléchée
Optionbutton2 : nom= Rec_O_gloablisée ; caption= Recette Globalisée

En gros, je récupère pour une ligne le type de recette (inscrit recette fléchée ou recette globalisée) qui correspond au caption, et j'aimerais qu'il en déduise le nom de l'optionbutton et le tique!

Je ne sais pas si j'ai été très clair...
En gros qqch comme ça :
Code:
Rec_Type_Recette.Controls(.Cells(a, 8)).Caption = True
je récupère en cells(a,8) soit recette fléchée soit recette globalisée. Selon il coche le bon...

Merci pour votre aide!
 

Modeste

XLDnaute Barbatruc
Re : Userform récupérer le nom de l'optionbutton en fonction de son caption

Salut tibo :)

Ce serait sans doute possible (pas pu tester :rolleyes:) d'écrire qqch comme
Code:
Me.Controls(Cells(8, 1).Text) = True
... pour cocher l'optionButton correspondant si c'était le nom du contrôle qui figurait en A8 ... Enfin, il me semble!?

Si c'est la propriété Caption qui figure dans la cellule, peut-être une boucle pour parcourir les différents contrôles et vérifier cette propriété pour chacun :confused:
 

titiborregan5

XLDnaute Accro
Re : Userform récupérer le nom de l'optionbutton en fonction de son caption

Salut modeste, merci pour ta réponse.

Moi je voulais mixer un truc style :
Code:
 controls(cells(8,1).caption).name
En gros le caption (qui est inscrit dans la cellule) permet de donner le nom du optionbutton...

J'ai plus simple que la boucle je pense, comme j'ai que 2 choix possibles...
Code:
If cells(a,1)="recette fléchée" then
rec_o_fléchée=true
else
rec_o_globalisée=true
end if

Right?
 

Dranreb

XLDnaute Barbatruc
Re : Userform récupérer le nom de l'optionbutton en fonction de son caption

Bonjour.

Sinon il y a ça qui marche bien :
VB:
Option Explicit
Dim CollOBn As New Collection

Private Sub UserForm_Initialize()
Dim Ctrl As MSForms.Control
For Each Ctrl In Me.Controls
   If TypeName(Ctrl) = "OptionButton" Then CollOBn.Add Ctrl, Ctrl.Caption
   Next Ctrl
   
CollOBn("toto") = True ' (j'ai mis "toto" comme Caption à l'un d'eux)
End Sub
 

job75

XLDnaute Barbatruc
Re : Userform récupérer le nom de l'optionbutton en fonction de son caption

Bonjour titiborregan5, Modeste, Bernard,

Code:
On Error Resume Next
Controls(Replace(Cells(a, 8), "ette ", "_O_")) = True
La variable a doit bien sûr avoir été définie.

On Error Resume Next pour le cas où par exemple la cellule est vide...

A+
 

titiborregan5

XLDnaute Accro
Re : Userform récupérer le nom de l'optionbutton en fonction de son caption

Hello Job, content de te voir sur ce fil!

Quelle simplicité, je suis dégoûté!!!
Comme ma cellule est obligatoirement remplie au préalable, je peux même oublié le On error resume next!

En effet je suis avec cette question dans le cadre d'un userform de modification d'un contenu saisi dans l'userform initial et donc qui a la même tête...

Je teste ta solution au plus vite! Merci beaucoup!

ça faisait longtemps que je n'étais pas venu sur ce forum, je suis toujours autant fan!

Bon bah ça marche, tout simplement !!! Je n'ai gagné qu'une ligne mais j'ai kiffé ton raisonnement!

Un grand merci à vous tous!
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
416

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87