Bouton command en VBA
Bonjour, j'ai un bouton command qui est crée en vba a la suite de optionbutton. Je ne comprend pas trop ou et comment lui associer du code. En gros je voudrai récupérer la valeur du option bouton coché.
Le code doit être dans un module genre
sub btnChoix_click
Msgbox(optionbutton1.caption)
End sub
???
Est ce que je dois faire un call quelque part ?
D'avance merci
Je vous donne un peu plus d'explication en vous donnant le code ou s'affiche mon bouton.
Private Sub btnRechercher_Click()
'Déclaration des variables
Dim recherche As String
Dim compteur As Integer
Dim i As Integer, j As Integer
Dim topbouton As Long
Dim leftbouton As Long
Dim dercell As Integer
Dim nnoComplet() As String
Dim designation() As String
Dim bouton As Control
Dim boutonR As Control
topbouton = 100 'Le premier label sera a 100 du haut
'Si le champ de recherche est numérique
If IsNumeric(TB_nno) Then
'Si le nombre de chiffre saisi n'est pas egal a 4
If (Len(TB_nno) < 4 Or Len(TB_nno) > 4) Then
MsgBox ("Attention, merci de saisir les 4 derniers chiffres de votre NNO")
'sinon si le nombre de caracteres est egal a 4
Else
recherche = TB_nno
dercell = Application.Worksheets("LISTING NNO").Range("a1").End(xlDown).Row
For i = 1 To dercell
If Right(Range("a" & i).Value, 4) Like recherche Then
ReDim Preserve nnoComplet(compteur)
ReDim Preserve designation(compteur)
nnoComplet(compteur) = Range("b" & i).Value
designation(compteur) = Range("f" & i).Value
compteur = compteur + 1
End If
Next
'Si aucune réponse n'est trouvée
If (compteur = 0) Then
MsgBox ("Désolé mais je ne trouve aucun NNO correspondant a votre recherche" & recherche)
Else 'AFFICHAGE DES REPONSES TROUVEES
UF_R_NNO.Hide
'ajout de label en fonction du nombre de NNO trouvé
For j = 0 To UBound(designation)
leftbouton = 40
Set bouton = UF_multiple_nno.Controls.Add("Forms.label.1", "Label" & j, True)
With bouton
If (designation(j) = "" Or designation(j) = "AUCUNE DESIGNATION POUR CE NNO") Then
.Caption = "AUCUNE DESIGNATION POUR CE NNO"
.ForeColor = RGB(255, 255, 0)
Else
.ForeColor = RGB(255, 255, 255)
.Caption = designation(j)
End If
.Font.Bold = True
.Height = 20
.Width = 550
.Top = topbouton
.Left = leftbouton
.BorderStyle = fmBorderStyleNone
.BackColor = RGB(0, 0, 0)
.BorderColor = RGB(0, 255, 255)
'ajustement du scroll en fonction du nombre de reponse
If (compteur * bouton.Height > 80) Then
UF_multiple_nno.ScrollHeight = compteur * bouton.Height * 2
UF_multiple_nno.Height = compteur * bouton.Height
Else
UF_multiple_nno.ScrollHeight = 0
UF_multiple_nno.Height = compteur * bouton.Height + UF_multiple_nno.Height
End If
'Fin de l'ajustement du scroll
End With
topbouton = topbouton + 25
Next j 'Fin de l'ajout de label
'ajout de Bouton en fonction du nombre de NNO trouvé
topbouton = 100
For j = 0 To UBound(nnoComplet)
leftbouton = 680
Set bouton = UF_multiple_nno.Controls.Add("Forms.OptionButton.1", "Option 1" & j, True)
With bouton
Dim serie1 As String, serie2 As String, serie3 As String, serie4 As String, serie1bis As String, serie2bis As String, serie3bis As String, serieTotale As String
serie1 = Left(nnoComplet(j), "4")
serie1bis = Right(nnoComplet(j), "9")
serie2 = Left(serie1bis, "2")
serie2bis = Right(serie1bis, "7")
serie3 = Left(serie2bis, "3")
serie3bis = Right(serie2bis, "4")
serie4 = Left(serie3bis, "4")
serieTotale = serie1 & " " & serie2 & " " & serie3 & " " & serie4
.Caption = serieTotale
.Height = 20
.Width = 100
.Top = topbouton
.Left = leftbouton
.BackColor = RGB(0, 0, 0)
.ForeColor = RGB(255, 255, 255)
End With
topbouton = topbouton + 25
Next j 'Fin de l'ajout de label
leftbouton = 225
Set bouton = UF_multiple_nno.Controls.Add("Forms.CommandButton.1", "btnChoixMultiple")
With bouton
.Top = topbouton
.BackStyle = fmBackStyleTransparent
.Left = leftbouton
.Caption = "Valider mon choix"
Width = 200
End With
topbouton = topbouton + 25
'Ajustement de la hauteur de fenetre
If (bouton.Height + topbouton > 500) Then
UF_multiple_nno.Height = 500
Else
UF_multiple_nno.Height = bouton.Height + topbouton
End If
'Fin de l'ajustement fenetre
UF_multiple_nno.Show
End If 'FIN D'AFFICHAGE DES REPONSES TROUVES
End If 'FIN DE VERIF DES 4 CARACTERES
'si le champ de recherche n'est pas numérique
Else
MsgBox ("Attention, seul les chiffres sont autorisés")
End If
End Sub
C'est donc la valeur du optionbutton checker
Set bouton = UF_multiple_nno.Controls.Add("Forms.OptionButton.1", "Option 1" & j, True)
que je veux recuperer sur une action du bouton créer ici
Set bouton = UF_multiple_nno.Controls.Add("Forms.CommandButton.1", "btnChoixMultiple")
Voyez vous ce que je dois faire a peu près ?
Je crois que j'ai posé une colle
Personne pour m'aider la dessus ?
J'actualise pour voir si quelqu'un a une solution
Bonsoir, je up parce que je suis toujours sur le meme probleme
Bonsoir
Moi je ne sais pas si je pourrais t'aider
Mais si tu attends que quelqu'un reconstruise un fichier avec userform, ainsi que les contrôles et données afin de faire des tests, je pense (mais je ne suis pas infaillible) que tu n'auras pas beaucoup de réponse
Alors
Non ce n'est pas du tout ce que j'attend puisque mon userform affiche bien mais bouton option mais je n'arrive pas a voir comment récupérer la valeur de l'option chèckee via un bouton command créer aussi par le vba.