VBA changer caption à l'ouverture de la userf

Résolu
Bonjour,

je souhaite que lorsque j'ouvre ma userform que les optionbutton présent a l'intérieur charge leur nom qui est dans une feuille excel.

j'espere avoir était assez clair.

Merci d'avance pour les réponse.
Configuration: Windows XP
Firefox 3.5.7

9 réponses

  1. Modérateur
    Bonjour,
    Soit un userform composé de 5 optionbutton :
    optionbutton1, optionbutton2 etc... optionbutton5.
    Vous voulez leur attribuer respectivement les valeurs comprises en A1, A2 etc... A5 de la feuille "Feuil1" :

    Private Sub UserForm_Activate()
    Dim Ctrl As Control
    Dim i As Integer
    i = 1
    For Each Ctrl In UserForm1.Controls
    If TypeOf Ctrl Is MSForms.OptionButton Then
    Ctrl.Caption = Sheets("Feuil1").Range("A" & i).Value
    i = i + 1
    End If
    Next
    End Sub
    
    1. Modérateur
      Lut,
      Fais ceci :
      OptionButton2.Caption = Range("B7") & vbCr & Range("B8")
      1. Bonjour,

        Tout d'abord merci de votre réponse.

        Pour des questions d'organisation de ma feuille je me suis contenté de ça:
        OptionButton2.Caption = Sheets("BDD").Range("B7").Value


        Mais cela ne me convient pas totalement car mon but est de prendre l'information dans 2 cellules.
        J'ai essayé ça:
        OptionButton2.Caption = Sheets("BDD").Range("B7:B8").Value

        Mais ça ne fonctionne malheureusement pas "Erreur d'exécution '13' : incompatibilité de type"

        Enfin il me reste une exigence c'est que ces 2 cellules soit écrient sur 2 lignes dans mon OptionButton.

        Merci de vos réponse.
        1. J'ai modifié votre code par ceci:
          OptionButton2.Caption = Sheets("BDD").Range("B7") & vbCr & Range("B8").Value

          Et cela fonctionne parfaitement.
          Merci beaucoup.
          1. En faite pas tout à fait je viens de découvrir un problème des que je passe par le CommandButton qui est sur la feuille excel il ne m'affiche que la première partie je ne sais pas pourquoi.

            Le plus simple peut être de vous envoyer le programme.
            1. la taille de ton controle est a modifier dans le mode création, s'il est trop petit il n'affiche pas tout
              1. Non car ça fonctionne si on passe pas par le commandboutton mais par la flèche lecture dans le code.
                1. Modérateur
                  Salut,
                  Je reprends aujourd'hui.
                  Comprends pas pourquoi cela ne fonctionne pas avec le commandbutton. Effectivement, colle ici ton fichier (avec cjoit par exemple).
                  1. J'ai maintenant fini mon projet et trouvé le problème.
                    je postes la ligne de commande si jamais ça peut intéresser quelqu'un
                    OptionButton2.Caption = Sheets("BDD").Range("B7") & vbCr & Sheets("BDD").Range("B8").Value

                    J'avais juste pas précisé la feuille pour la deuxième cellule.

                    Merci à toi Pijaku.