Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
bonjour je recherche un code pour un groupe de trois boutons d'options j'ai celui la avec la fonction IIF mais bien sur il ne sert que pour deux boutons pouvez vous m'aider svp
.Cells(RecordNumber, 11) = IIf(Me.OPTComAlu = True, "COM", "VAL", "Lit")
j'aurais une autre question ma première demande était pour l'écriture de l'enregistrement mais ma deuxième interrogation est pour la lecture de l'enregistrement j'ai ce code pour deux boutons d'options mais moi il m'en faudrait trois alors j'ai écrit le code comme cela
If UCase(.Cells(RecordNumber, 11)) = "lit" Then Me.OPTComAlu.Value = True Else Me.OPTValAlu = True
mais bien sur cela ne marche pas pouvez vous m'aider une dernière fois merci par avance.
Si l'on ne connaît pas les fonctions Switch et Match c'est le moment :
VB:
Sub lequel()
Cells(1) = Switch(OptionButton1, "COM", OptionButton2, "VAL", OptionButton3, "Lit")
End Sub
Private Sub UserForm_Initialize()
On Error Resume Next
Me("OptionButton" & Application.Match(Cells(1), Array("COM", "VAL", "Lit"), 0)) = True
End Sub
Switch : je l'ai déjà croisée mais ce n'est pas ma copine. Je n'arrive pas à me la mettre dans un coin de la tête. J'en ai au moins deux autres comme ça.
Je devrais peut-être commencer une analyse ;
Quand au MATCH, je l'ai laissé tombé car rien ne dit que les options sont nommées et numérotées de manière consécutives. Mais je reconnais que c'est la bonne méthode à prendre quand on a affaire à des groupes d'options.
Si l'on ne connaît pas les fonctions Switch et Match c'est le moment :
VB:
Sub lequel()
Cells(1) = Switch(OptionButton1, "COM", OptionButton2, "VAL", OptionButton3, "Lit")
End Sub
Private Sub UserForm_Initialize()
On Error Resume Next
Me("OptionButton" & Application.Match(Cells(1), Array("COM", "VAL", "Lit"), 0)) = True
End Sub
bonjour job75 en faite je vous donne mon code complet il est intégré dans un formulaire qui me sert a écrire, consulter et modifier le contenu de mon tableau quand je veux modifier mes données tous ce remet en place dans mon formulaire ainsi que les boutons d' options "normalement" le problème est que le code est fait pour des groupes de deux boutons actions et que moi j'ai besoin de groupe de trois boutons il me manque plus que cela et j'aurais terminé mon frm et je n'y arrive pas et j'ai besoin de votre aide. Merci d'avance
Private Sub ReadRecord(ByVal RecordNumber As Long)
' Lecture de l'enregistrement
RecordNumber = RecordNumber + 1
With rng
Me.txtAffaire = .Cells(RecordNumber, 2)
Me.txtClient = .Cells(RecordNumber, 3)
Me.txtLivraison = .Cells(RecordNumber, 4)
Me.TxtCouleur = .Cells(RecordNumber, 5)
Me.TxtTemps = .Cells(RecordNumber, 6)
Me.cboPays = .Cells(RecordNumber, 7)
Me.cboGamme = .Cells(RecordNumber, 8)
'partie du code qui me fait tirer les cheveux il doit finir pour la 1er ligne en ex avec OptlitAlu
If UCase(.Cells(RecordNumber, 11)) = "Com" Then Me.OptComAlu.Value = True Else Me.OptValAlu = True
If UCase(.Cells(RecordNumber, 12)) = "Com" Then Me.OptComAluDivers.Value = True Else Me.OptValAluDivers = True
If UCase(.Cells(RecordNumber, 13)) = "Com" Then Me.OptComAcces.Value = True Else Me.OptValAcces = True
If UCase(.Cells(RecordNumber, 14)) = "Com" Then Me.OptComAcier.Value = True Else Me.OptValAcier = True
If UCase(.Cells(RecordNumber, 15)) = "Com" Then Me.OptComPlastique.Value = True Else Me.OptValPlastique = True
If UCase(.Cells(RecordNumber, 16)) = "Com" Then Me.OptComBois.Value = True Else Me.OptValBois = True
If UCase(.Cells(RecordNumber, 17)) = "Com" Then Me.OptComVitrage.Value = True Else Me.OptValVitrage = True
If UCase(.Cells(RecordNumber, 18)) = "Com" Then Me.OptComTransport.Value = True Else Me.OptValTransport = True
If UCase(.Cells(RecordNumber, 19)) = "Com" Then Me.OptComElectronique.Value = True Else Me.OptValElectronique = True
Me.frmMember.Caption = "Fiche " & Format(RecordNumber, "R000")
End With
End Sub
Bonjour eriiiic merci pour ton aide je ne l'avais pas vu car ca na pas fait de bug par contre je cherche la façon de passer mon code pour un groupe de deux boutons actions a un groupe de trois, si tu a une idée je suis preneur, en tout cas Merci.
Juste histoire d'ajouter de la variante aux variantes
(aprés IIF, Choose et Switch il restait de la place pour Mid)
VB:
Private Sub CommandButton1_Click()
Cells(1) = Mid("COMVALLit", -((1 * OptionButton1) + (4 * OptionButton2) + (7 * OptionButton3)), 3)
End Sub
Private Sub UserForm_Initialize()
On Error Resume Next
Me("OptionButton" & Application.Match(Cells(1), Array("COM", "VAL", "Lit"), 0)) = True
End Sub
Tu as déjà eu 4 ou 5 propositions...
Si tu n'expliques pas en détail le fonctionnement voulu tu risques d'attendre...
En principe pour un groupe d'option button, que tu en aies 2 ou 3 ou 72 c'est pareil. Tu en mets un True, les autres passent False.
Encore faut-il que les groupes soient constitués. Soit les boutons dans un même frame, soit ils ont le même GroupName.
eric
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.