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

CommandButton 2e essai

2 réponses
Avatar
EG
Bonjour,

Je crois que je me suis mal expliqu=E9 dans mon premier=20
message. Voici donc, un 2e essai.

J'ai plusieurs boutons dans ma feuille (ex: cmd01 =E0=20
cmd10). Lorsque l'usag=E9 entrera son mot de passe dans une=20
cellule et qu'il cliquera sur le bouton "Identification",=20
il y aura un lien qui se fera avec une table Access qui=20
me donnera les boutons auxquelles cet employ=E9 =E0 droit=20
(ex: Cmd02, Cmd04, Cmd05). Les droits sont donn=E9es en=20
fonction du type d'utilisateur et les droits sont=20
variables car ils peuvent changer avec le temps. Le=20
champ de ma table sera inscrit de cette fa=E7on. (ex:=20
Cmd02;Cmd04;Cmd05). Dans une boucle, j'ai une proc=E9dure=20
qui me donnera Cmd02 suivi de Cmd04 et enfin de Cmd05.

Voici la proc=E9dure que j'essai de faire pour que le=20
bouton choisi soit disponible ou non. Je voudrais passer=20
comme variable le strChaine pour que le bouton que je=20
mettrai enabled change de non =E0 chaque it=E9ration de mon=20
For. De plus, pour compliqu=E9 les choses, c'est que cette=20
proc=E9dure est dans un UserForm et que les boutons =E0=20
mettre Enabled sont dans la Feuil1.

For i =3D 1 To Len(rc.Fields("Droit").Value)
intPos =3D InStr(i, rc.Fields("Droit").Value, ";")
strChaine =3D Mid(rc.Fields("Droit").Value, i,
(intPos) - i)
?????????
i =3D intPos
Next

Quel serait la commande qui me permettrais de transformer=20
ma variable strChaine en nom de bouton ?

Merci et excuser la longueur du message.

2 réponses

Avatar
Pierre CFI [mvp]
bonjour
je pense que tu es dans un formulaire ?
donc les objets peuvent se nommer

Me(strChaine)
si un bouton a pour nom le contenu de ta variable
fait attention, si le contenue de ta variable n'est pas un nom d'objet (on error resume next)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"EG" a écrit dans le message de news:b12901c499a0$fb917ed0$
Bonjour,

Je crois que je me suis mal expliqué dans mon premier
message. Voici donc, un 2e essai.

J'ai plusieurs boutons dans ma feuille (ex: cmd01 à
cmd10). Lorsque l'usagé entrera son mot de passe dans une
cellule et qu'il cliquera sur le bouton "Identification",
il y aura un lien qui se fera avec une table Access qui
me donnera les boutons auxquelles cet employé à droit
(ex: Cmd02, Cmd04, Cmd05). Les droits sont données en
fonction du type d'utilisateur et les droits sont
variables car ils peuvent changer avec le temps. Le
champ de ma table sera inscrit de cette façon. (ex:
Cmd02;Cmd04;Cmd05). Dans une boucle, j'ai une procédure
qui me donnera Cmd02 suivi de Cmd04 et enfin de Cmd05.

Voici la procédure que j'essai de faire pour que le
bouton choisi soit disponible ou non. Je voudrais passer
comme variable le strChaine pour que le bouton que je
mettrai enabled change de non à chaque itération de mon
For. De plus, pour compliqué les choses, c'est que cette
procédure est dans un UserForm et que les boutons à
mettre Enabled sont dans la Feuil1.

For i = 1 To Len(rc.Fields("Droit").Value)
intPos = InStr(i, rc.Fields("Droit").Value, ";")
strChaine = Mid(rc.Fields("Droit").Value, i,
(intPos) - i)
?????????
i = intPos
Next

Quel serait la commande qui me permettrais de transformer
ma variable strChaine en nom de bouton ?

Merci et excuser la longueur du message.
Avatar
docm
Bonjour.
Tu pourais utiliser un Select Case:
Exemple:
For i = 1 To Len(rc.Fields("Droit").Value)
intPos = InStr(i, rc.Fields("Droit").Value, ";")
strchaine = Mid(rc.Fields("Droit").Value, i, (intPos -
((Len(rc.Fields("Droit").Value) * 2) * (intPos = 0))) - i)
Select Case strchaine
Case "cmd02"
Feuil1.cmd02.Enabled = True
Case "cmd03"
Feuil1.cmd03.Enabled = True
Case Else
MsgBox "Nom de bouton inconnu"

End Select

i = intPos - ((Len(rc.Fields("Droit").Value) * 2) * (intPos = 0))
Next

Sous toutes réserves.


"EG" wrote in message
news:b12901c499a0$fb917ed0$
Bonjour,

Je crois que je me suis mal expliqué dans mon premier
message. Voici donc, un 2e essai.

J'ai plusieurs boutons dans ma feuille (ex: cmd01 à
cmd10). Lorsque l'usagé entrera son mot de passe dans une
cellule et qu'il cliquera sur le bouton "Identification",
il y aura un lien qui se fera avec une table Access qui
me donnera les boutons auxquelles cet employé à droit
(ex: Cmd02, Cmd04, Cmd05). Les droits sont données en
fonction du type d'utilisateur et les droits sont
variables car ils peuvent changer avec le temps. Le
champ de ma table sera inscrit de cette façon. (ex:
Cmd02;Cmd04;Cmd05). Dans une boucle, j'ai une procédure
qui me donnera Cmd02 suivi de Cmd04 et enfin de Cmd05.

Voici la procédure que j'essai de faire pour que le
bouton choisi soit disponible ou non. Je voudrais passer
comme variable le strChaine pour que le bouton que je
mettrai enabled change de non à chaque itération de mon
For. De plus, pour compliqué les choses, c'est que cette
procédure est dans un UserForm et que les boutons à
mettre Enabled sont dans la Feuil1.

For i = 1 To Len(rc.Fields("Droit").Value)
intPos = InStr(i, rc.Fields("Droit").Value, ";")
strChaine = Mid(rc.Fields("Droit").Value, i,
(intPos) - i)
?????????
i = intPos
Next

Quel serait la commande qui me permettrais de transformer
ma variable strChaine en nom de bouton ?

Merci et excuser la longueur du message.