Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

optimiser mon ControlSource

7 réponses
Avatar
Xavier powaga
Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource qui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en utilisant
le controlSource, affecter d'autre valeur à la cellule liée que la valeur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".

7 réponses

Avatar
MichDenis
Je suppose que ton bouton d'option émane de la boîte à outils "Formulaire"

À la cellule liée, tu donnes le format suivant

[=1]"Vrai";"Faux"



"Xavier powaga" a écrit dans le message de news:
47ae0678$0$17759$
Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource qui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en utilisant
le controlSource, affecter d'autre valeur à la cellule liée que la valeur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".
Avatar
Xavier powaga
ben , en fait j'ai pas été assez précis
mes optionButton sont dans une Form et il y en a plusieurs

deux des OptionButton sont liés à la même cellule par un ControlSource et je
souhaiterais qu'en activant le premier cela m'indique 1 dans la cellule
liée, et lorsque je selectionne le deuxième cela m'indique 2 (et
inversement)

"MichDenis" a écrit dans le message de news:

Je suppose que ton bouton d'option émane de la boîte à outils "Formulaire"

À la cellule liée, tu donnes le format suivant

[=1]"Vrai";"Faux"



"Xavier powaga" a écrit dans le message de news:
47ae0678$0$17759$
Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource qui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en
utilisant
le controlSource, affecter d'autre valeur à la cellule liée que la valeur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".






Avatar
Xavier powaga
bonjour,
comment donner ce format. j'ai essayé avec le format personalisé en tapant
[=1]"VRAI";"FAUX" mais rien à faire il m'affiche toujours VRAI dans la
cellule


"MichDenis" a écrit dans le message de news:

Je suppose que ton bouton d'option émane de la boîte à outils "Formulaire"

À la cellule liée, tu donnes le format suivant

[=1]"Vrai";"Faux"



"Xavier powaga" a écrit dans le message de news:
47ae0678$0$17759$
Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource qui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en
utilisant
le controlSource, affecter d'autre valeur à la cellule liée que la valeur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".






Avatar
JB
Bonjour,

Module de classe CLasseOptions

Public WithEvents GrOptions As MSForms.OptionButton
Private Sub GrOptions_Click()
Sheets(1).[A1] = Mid(GrOptions.Name, 13)
End Sub

Formulaire:

Dim Btn(1 To 4) As New ClasseOptions
Private Sub UserForm_Initialize()
For b = 1 To 4: Set Btn(b).GrOptions = Me("OptionButton" & b): Next
b
End Sub

http://cjoint.com/?ckkNDvATta

JB


On 9 fév, 21:01, "Xavier powaga" wrote:
Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource qui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en utilisan t
le controlSource, affecter d'autre valeur à la cellule liée  que la valeur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".


Avatar
Modeste
Bonsour® Xavier powaga avec ferveur ;o))) vous nous disiez :

J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la
cellule liée et non "VRAI".


il faut ruser et passer par une cellule intermédiaire :o)))

OptionBoutton1 , ControlSource¡
OptionBoutton2 , ControlSource¢
OptionBoutton3 , ControlSource£
en B1 la formule = EQUIV(VRAI;A1:A3)




--
--
@+
;o)))

Avatar
Xavier powaga
Merci JB
c'est effectivement trés interressant et je garde l'idée,
dans mon cas j'aurais voulu utiliser le ControlSource car la liaison
OptionButton /Cellule est bilatérale
En effet dans ma Form j'ai mis un SpinButton qui permet de naviguer ligne
par ligne et en fontion de ce qu'il y a dans les cellules liés les
OptionButton doivent s'activer

Ainsi si ma cellule liée contient 1 l'optionButton1 s'active
Ainsi si ma cellule liée contient 2 l'optionButton2 s'active
Si je clique sur optionButton1 la cellule liée passe à 1
Si je clique sur optionButton2 la cellule liée passe à 2

C'est clair qu'il est beaucoup plus facile de le faire avec une ComboBox et
c'est certainement ce que je ferai si je ne trouve pas d'autre solution


"JB" a écrit dans le message de news:

Bonjour,

Module de classe CLasseOptions

Public WithEvents GrOptions As MSForms.OptionButton
Private Sub GrOptions_Click()
Sheets(1).[A1] = Mid(GrOptions.Name, 13)
End Sub

Formulaire:

Dim Btn(1 To 4) As New ClasseOptions
Private Sub UserForm_Initialize()
For b = 1 To 4: Set Btn(b).GrOptions = Me("OptionButton" & b): Next
b
End Sub

http://cjoint.com/?ckkNDvATta

JB


On 9 fév, 21:01, "Xavier powaga" wrote:
Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource qui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en
utilisant
le controlSource, affecter d'autre valeur à la cellule liée que la valeur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".


Avatar
JB
http://cjoint.com/?cklVxu543w

Module de classe CLasseOptions

Public WithEvents GrOptions As MSForms.OptionButton
Private Sub GrOptions_Click()
Application.EnableEvents = False
Sheets(1).[A1] = Mid(GrOptions.Name, 13)
Application.EnableEvents = True
End Sub

Formulaire:

Dim Btn(1 To 4) As New ClasseOptions
Private Sub UserForm_Initialize()
For b = 1 To 4: Set Btn(b).GrOptions = Me("OptionButton" & b): Next
b
End Sub

Code Feuille:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
UserForm1.Controls("OptionButton" & Target) = True
End If
End Sub

JB

On 10 fév, 11:11, "Xavier powaga" wrote:
Merci JB
c'est effectivement trés interressant et je garde l'idée,
dans mon cas j'aurais voulu utiliser le ControlSource car la liaison
OptionButton /Cellule est bilatérale
En effet dans ma Form j'ai mis un SpinButton qui permet de naviguer ligne
par ligne et en fontion de ce qu'il y a dans les cellules liés les
OptionButton doivent s'activer

Ainsi si ma cellule liée contient 1 l'optionButton1 s'active
Ainsi si ma cellule liée contient 2 l'optionButton2 s'active
Si je clique sur optionButton1 la cellule liée passe à 1
Si je clique sur optionButton2 la cellule liée passe à 2

C'est clair qu'il est beaucoup plus facile de le faire avec une ComboBox e t
c'est certainement ce que je ferai si je ne trouve pas d'autre solution

"JB" a écrit dans le message de news:

Bonjour,

Module de classe CLasseOptions

Public WithEvents GrOptions As MSForms.OptionButton
Private Sub GrOptions_Click()
  Sheets(1).[A1] = Mid(GrOptions.Name, 13)
End Sub

Formulaire:

Dim Btn(1 To 4) As New ClasseOptions
Private Sub UserForm_Initialize()
  For b = 1 To 4: Set Btn(b).GrOptions = Me("OptionButton" & b): Nex t
b
End Sub

http://cjoint.com/?ckkNDvATta

JB

On 9 fév, 21:01, "Xavier powaga" wrote:



Bonjour à tous,
j'ai recemment découvert avec bonheur l'utilisation du controlSource q ui
permet de lier la valeur d'un Objet VBA à une cellule.

Je me demande par contre si on peut, par un astuce et toujours en
utilisant
le controlSource, affecter d'autre valeur à la cellule liée que la v aleur
de l'objet.

Je ne sais pas si j'ai été clair alors cas pratique :
J'ai un OptionButton nommé "1" et je souhaiterais, en utilisant le
ControlSource, que lorsque je l'active il m'inscrive "1" dans la cellule
liée et non "VRAI".- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -