Boucle "if"

abdellah_tadjine Messages postés 203 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Voila j'ai une macro a répétition
et je veux la remplacé par une boucle
Private Sub CommandButton3_Click()

If Me.OptionButton1 = True Then
UserForm1.TextBox3.Value = enf1.Value
End If

If Me.OptionButton2 = True Then
UserForm1.TextBox3.Value = enf2.Value
End If

If Me.OptionButton3 = True Then

UserForm1.TextBox3.Value = enf3.Value
End If

If Me.OptionButton4 = True Then

UserForm1.TextBox3.Value = enf4.Value
End If


merci pour votre aide les amis

Configuration: Windows / Firefox 72.0

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,,

    Je suppose que tu veux boucler sur chaque OptionButton de ton UserForm
    Dans ce cas, un code du genre peux t'y aider
    Dim Ctrl As Control
    
    For Each Ctrl In Me.Controls
        If TypeOf Ctrl Is MSForms.OptionButton Then 
         MsgBox Ctrl.Object.Value
        EndIf
    Next Ctrl
    


    Sinon, tu peux utiliser une boucle du genre
    Dim i As Integer
        
        For i = 1 To 10
          if Me.Controls("OptionButton" & i) = true Then
            UserForm1.TextBox3.Value = Me.Controls("enf" & i).Value
          End if
        Next i
    

    Édit : suppression d'un espace en trop

    Enfin bon.. voila de quoi t'aider à avancer
    https://silkyroad.developpez.com/VBA/ControlesUserForm/

    0
    1. abdellah_tadjine Messages postés 203 Statut Membre 6
       
      une boite de dialogue de débogage, erreur
      0
      1. abdellah_tadjine Messages postés 203 Statut Membre 6 > abdellah_tadjine Messages postés 203 Statut Membre
         
        If Me.Controls("OptionButton " & i) = True Then........il le souligne en jaune
        0
      2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > abdellah_tadjine Messages postés 203 Statut Membre
         
        Y'a un espace en trop
        0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, que sont les enf?
    0