Declaration de variables vba

Bonjour,

es ce que quelqu'un peu m'aider SVP ,
je souhaiterai declarer une variable globale , entrer la valeur de la variale grace a un boutond'option1 qui est place dans un userform1, qui va me permettre de controler un texbox dans un userform2,

exemple : si jappuie sur le boutondoption1 du userform1, celui la m'ouvre le userform2 avec un textbox1 et dans le texbox1 la valeur de la cellule ("C1")

jai essai ca mais ca ne marche pas

jai declarer une variable globale , dans le userform2 toute en haut

Option explicite
Public col As String

et dans le texbox1 du userform2 jai mis ca

TextBox1.Text = Sheets(1).Cells(1, col).Value

et dans le bouton option1 du userform 1

Private Sub OptionButton1_Click()
col = ("C")
Load UserForm2
UserForm2.Show
End Sub

et si je rajoute un bouton doption 2, sa ouvre le userform2 mais la valeur du texbox 1 = D1

Private Sub OptionButton2_Click()

col = ("D")
Load UserForm2
UserForm2.Show

End Sub

merci de votre aide
Configuration: Windows XP
Firefox 3.0.10

11 réponses

  1. Contributeur
    Alors, je me demande si c'est une bonne idée de découvrir ainsi le VBA, sans formation...
    0
    1. Contributeur
      Tu as suivi des etudes avant de faire ton stage de fin d'etude ?
      0
      1. oui des etudes dans la mecanique et la conception avec catia et ansys , sinon jamais de l'informatique
        0
    2. 88 messages depuis juin 2009....
      Ne serions-nous pas en train de faire un projet de stage ou de fin d'étude...

      Je passe.
      0
      1. bonjour

        c exactement ca ,je sui en stage de fin d'etude, je sui debutant en vba , et la je decouvre vba , sinon desole pour tou le derangement .

        bonne journer a vous
        0
    3. C'est "Santa Barbara" sont truc ...

      Rien n'est défini et encore moins spécifié, il code au fil de l'eau ...

      J'abandonne ... j'ai mourru.

      AU SUIVANT !!!

      ;o)
      0
      1. Contributeur
        Il est sans doute possible de faire une sub textbox2.change, et, dans cette sub, de modifier tes cellules.
        0
        1. SI TU NOUS DISAIS CLAIREMENT CE QUI NE MARCHE PAS !!!

          Où as-tu un message d'erreur ? sur quelle ligne ?

          Comme il est dit dans ma signature et comme je te l'ai déjà dit : Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément..

          As-tu pris le temps d'écrire noir sur blanc (avec un stylo et du papier) ce que tu veux faire exactement ??? Je n'ai vraiment pas l'impression que tu saches exactement ce que tu veux faire.

          Que vient faire le post #8 ici ??? :

          amine69500, le mercredi 24 juin 2009 à 12:52:43
          Avec userform4.show


          0
          1. bonjour je sui vraiment desole pour le derangement
            voila mon code bien expliquer et il marche bien, mais ya un autre probleme
            jai declarer une variable globale dans un module

            option explicit
            public col As string

            dan mon userform2 activate jai mis ca : TextBox1.Text = Sheets("Feuil1").Cells(1, col).Text ( es ce que c bien ici qu'il faut le mettre ?

            ca marche mais je peu pas modifier le text du texbox1 , chose normale.

            dans mon userform1 jai mis

            Private Sub OptionButton1_Click()
            col = ("C")
            Load UserForm2
            UserForm2.Show
            End Sub

            Private Sub OptionButton2_Click()
            col = ("D")
            Load UserForm2
            UserForm2.Show
            End Sub

            je veu mettre un autre texbox2 mais cette fois ci je veu pouvoir remplir des cellules avec ce texbox2 , comment je peu faire svp.
            0
        2. je suis tout à fait d'accord avec yg_be et Polux31 et michel_m sur d'autres post.
          de plus il est considéré comme impoli ( point de vue personnel ) de reposter une sur problème résolu pour avoir les mêmes conseils ( les miens dans ce cas).
          je n'ai pas inventé VBA je l'utilise comme les autres qui te réponde donc je n'ai pas la science infuse mais je sais lire ( là c'est méchant mais bon....)

          d'après tes indications j'ai fait deux userform, textbox et bouton d'option ( dés fois que ...enfin....)
          un variable globale.
          Chez moi ça marche.

          j'imagine que c'est pareil chez les autres.

          Voici mon conseil : écrit ton code sans variable puis mets une variable.
          procède par étape.

          voici le code que j'obtiens

          public Col as integer

          Private Sub UserForm_Initialize()
          UserForm1.TextBox1.Value = Sheets("feuil1").Cells(1, Col).Value
          End Sub
          0
          1. Contributeur
            J'ai l'impression que tu ne suis pas nos suggestions...
            Peux-tu couper/coller dans le forum le texte exact de ton code (pas le retaper approximativement).
            Qu'est-ce qui ne fonctionne pas ? Tu as un message d'erreur, ou bien rien ne se passe ?
            0
            1. ok merci encore de votre attention
              dans le userform1

              Private Sub OptionButton1_Click()
              UserForm2.col = ("C")
              Load UserForm2
              UserForm2.Show
              End Sub

              Private Sub OptionButton2_Click()
              UserForm2.col = ("D")
              Load UserForm2
              UserForm2.Show
              End Sub

              et dans le userform2
              toute en haut

              option explicit
              Public col As String

              et dans userform2 initializ jai mis ca :

              Private Sub UserForm_Initialize()

              Me.TextBox1.Text = Sheets(1).Cells(1, col).Text

              End Sub

              et ca ne marche pa , c pa normale

              merci de votre aide
              0
          2. Bonjour,

            Tu ne prends le temps de lire les codes que l'on te passe ... la réponse t'a déjà été donnée.

            Userform1 :

            Sub Bouton_Option1_Click()
            UserForm2.Col = "C"
            Load UserForm2
            UserForm2.Show
            End Sub

            Sub Bouton_Option1_Click()
            UserForm2.Col = "D"
            Load UserForm2
            UserForm2.Show
            End Sub

            UserForm2:

            Option Explicit
            Public col As String

            Sub UserForm_Initialize()
            Me.TextBox1.Text = Sheets(1).Cells(1, col).Text
            End Sub

            Bon courage
            0
            1. bonjour merci pour la reponse , mais ca ne marche pa , je comprend pa, c pa normale

              jai declarer une variable globale dans la userform2

              option explicit
              Public col As string

              et dans le userform2 initializ jai mis
              Me.TextBox430.Text = Sheets(1).Cells(1, col).Text

              et dans le userform1

              booton d'option 1
              userform4.col = "C"
              load userform2

              booton d'option2
              userform4.col = "D"
              load userform2

              ca ne marche pa c pa normale pouvez vous m'aidez SVP , ca fai deux jour je me casse la tete avec ca

              merci de votre aide
              0
            2. @amine69500avec userform4.show
              0
            3. @amine69500avec userform2.show sur les deux bouton bien sure jai oublie de les mettre
              0
          3. Contributeur
            et pourquoi ne pas faire

            userform2.TextBox1.Text = Sheets(1).Cells(1, Asc(col) - Asc("A") + 1).Value

            dans OptionButton2_Click, juste après
            UserForm2.Show
            0
            1. merci encore pour la reponse , mais ca ne fonctionne pa

              enfaite voila mon probleme

              jai deux userform
              dans le userform1 jai deux bouton option , et dans le userform2 jai un textbox
              jai declarer une variable globale

              option explicit
              public col As string dans le userform2 toute en haut

              et dans le userform2, je sai pa ou mettre ca : TextBox1.Text = Sheets(1).Cells(1, col).Text

              bouton d'option 1 dans le userform1
              col = ("C")
              load userform2
              userform2.show

              bouton d'option2 dans le userform1
              col=("D")
              load userform2
              userform2.show

              merci de votre aide
              0
            2. Contributeur
              @amine69500Et pourquoi ne pas faire :

              bouton d'option 1 dans le userform1
              col = ("C")
              load userform2
              userform2.show
              userform2.TextBox1.Text = Sheets(1).Cells(1, Asc(col) - Asc("A") + 1).Value

              bouton d'option2 dans le userform1
              col=("D")
              load userform2
              userform2.TextBox1.Text = Sheets(1).Cells(1, Asc(col) - Asc("A") + 1).Value
              userform2.show
              0
          4. Contributeur
            au lieu de
            TextBox1.Text = Sheets(1).Cells(1, col).Value
            essaie
            TextBox1.Text = Sheets(1).Cells(1, Asc(col) - Asc("A") + 1).Value
            0
            1. merci pour votre reponse, j'ai essai ce que vous mavez donnez mais ca ne fonctionne pa

              enfaite , c le text de la cellule quon voit pa dans le textbox

              merci de votre aide
              0