Declaration de variables vba

amine69500 Messages postés 471 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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. amine69500 Messages postés 471 Statut Membre 12
       
      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
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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. amine69500 Messages postés 471 Statut Membre 12
       
      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
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > amine69500 Messages postés 471 Statut Membre
         
        Et 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
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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. amine69500 Messages postés 471 Statut Membre 12
       
      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
      1. amine69500 Messages postés 471 Statut Membre 12 > amine69500 Messages postés 471 Statut Membre
         
        avec userform4.show
        0
      2. amine69500 Messages postés 471 Statut Membre 12 > amine69500 Messages postés 471 Statut Membre
         
        avec userform2.show sur les deux bouton bien sure jai oublie de les mettre
        0
  4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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. amine69500 Messages postés 471 Statut Membre 12
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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
  7. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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. amine69500 Messages postés 471 Statut Membre 12
       
      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
  8. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Il est sans doute possible de faire une sub textbox2.change, et, dans cette sub, de modifier tes cellules.
    0
  9. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  10. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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. amine69500 Messages postés 471 Statut Membre 12
       
      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
  11. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Tu as suivi des etudes avant de faire ton stage de fin d'etude ?
    0
    1. amine69500 Messages postés 471 Statut Membre 12
       
      oui des etudes dans la mecanique et la conception avec catia et ansys , sinon jamais de l'informatique
      0
  12. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Alors, je me demande si c'est une bonne idée de découvrir ainsi le VBA, sans formation...
    0