Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1283 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  changement de formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

changement de formulaire

n°1118010
lilimilou2​9
Posté le 13-06-2005 à 11:14:36  profilanswer
 

Salut
Est ce que qq'un sait la syntaxe pr aller sur un formulaire en appuyant sur un bouton contenu dans un autre formulaire?
 
Si je me souviens bien c un truc du style    Fr.show  mais je me souvien pas du reste.
 
Merci d'avance pour votre aide

mood
Publicité
Posté le 13-06-2005 à 11:14:36  profilanswer
 

n°1118502
steppenwol​f
Posté le 13-06-2005 à 16:12:29  profilanswer
 

Salut
 
En .NET c'est:
Dim MonNouveauFormulaire As New Formulaire2
MonNouveauFormulaire.Show()
 
A+

n°1119158
lilimilou2​9
Posté le 14-06-2005 à 10:13:00  profilanswer
 

merci de ton aide
 
Est ce que par hasard tu serai commetn on fait pour appeler des informations d'un formulaire pr les afficher ds un autre?
Merci d'avance pour ton aide

n°1119244
steppenwol​f
Posté le 14-06-2005 à 11:15:47  profilanswer
 

Il y a plusieurs méthodes. Perso j'utilise la plupart du temps un module de classe ou je déclare les variables qui m'intéressent pour stocker des informations en passant d'un form à un autre (= variable globale).

n°1119274
lilimilou2​9
Posté le 14-06-2005 à 11:30:11  profilanswer
 

tu peu me donner le code qu'il fo ecrire stp

n°1119295
steppenwol​f
Posté le 14-06-2005 à 11:41:45  profilanswer
 

Alors, en VB.NET ça donnerait :
1. Tu crées un module : dans le menu : Projet ==> Ajouter un module que tu nommes par exemple MonModule.vb
2. J'vais traiter un exemple avec 2 form, Formulaire1 a une cmbbox et un bouton, Formulaire2 une txtbox
3. Dans le module, tu écris :

Code :
  1. Public ValeurCmbBox as String


4. Dans le formulaire 1, le code du bouton Valider sera :

Code :
  1. MonModule.ValeurCmbBox = MaCmbBox.SelectedItem
  2. Dim NewForm2 as New Formulaire2
  3. NewForm2.Show()


5. Enfin, dans ton 2ème formulaire, pour la fonction Load, tu écris :

Code :
  1. MaTxtBox.Text = MonModule.ValeurCmbBox


 
Donc avec ce code, tu récupère ce que tu as sélectionné dans ta combobox et tu l'affiche dans une textbox qui se trouve sur un autre form !
 
A+

n°1119364
lilimilou2​9
Posté le 14-06-2005 à 12:10:07  profilanswer
 

t'utilise kel version de VB.net?  
Moi c'est la version 2002

n°1119366
steppenwol​f
Posté le 14-06-2005 à 12:11:01  profilanswer
 

Moi c'est la 2003 !

n°1119381
lilimilou2​9
Posté le 14-06-2005 à 12:19:41  profilanswer
 

c koi la fonction LOAD?
Tu peux m'expliquer stp

n°1119389
steppenwol​f
Posté le 14-06-2005 à 12:26:59  profilanswer
 

Alors c'est la fonction qui est lancée au chargement de ton formulaire !

mood
Publicité
Posté le 14-06-2005 à 12:26:59  profilanswer
 

n°1119390
steppenwol​f
Posté le 14-06-2005 à 12:27:14  profilanswer
 

Pour y avoir accès, tu peux faire ceci :
En mode Concepteur, dble clic sur ton formulaire (Autre part que sur une txtbox ou autre...) et normalement, le code va s'afficher avec Formulaire_Load(...)...

n°1119392
lilimilou2​9
Posté le 14-06-2005 à 12:29:03  profilanswer
 

j'ai pourtant fait com tu ma dit ms ca ne marche pas  
snif snif

n°1119403
steppenwol​f
Posté le 14-06-2005 à 12:43:53  profilanswer
 

Je te reposte le code !
 
Module : (MonModule.vb)

Code :
  1. Module MonModule
  2.     Public ValeurCmbBox As String
  3. End Module


 
Formulaire 1 : (Form1.vb)

Code :
  1. Public Class Form1
  2.     Inherits System.Windows.Forms.Form
  3. #Region " Code généré par le Concepteur Windows Form "
  4.     Public Sub New()
  5.         MyBase.New()
  6.         'Cet appel est requis par le Concepteur Windows Form.
  7.         InitializeComponent()
  8.         'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  9.     End Sub
  10.     'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
  11.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  12.         If disposing Then
  13.             If Not (components Is Nothing) Then
  14.                 components.Dispose()
  15.             End If
  16.         End If
  17.         MyBase.Dispose(disposing)
  18.     End Sub
  19.     'Requis par le Concepteur Windows Form
  20.     Private components As System.ComponentModel.IContainer
  21.     'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
  22.     'Elle peut être modifiée en utilisant le Concepteur Windows Form. 
  23.     'Ne la modifiez pas en utilisant l'éditeur de code.
  24.     Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
  25.     Friend WithEvents Button1 As System.Windows.Forms.Button
  26.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  27.         Me.ComboBox1 = New System.Windows.Forms.ComboBox
  28.         Me.Button1 = New System.Windows.Forms.Button
  29.         Me.SuspendLayout()
  30.         '
  31.         'ComboBox1
  32.         '
  33.         Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
  34.         Me.ComboBox1.Items.AddRange(New Object() {"Item1", "Item2", "Item3", "Item4", "Item5", "Item6"})
  35.         Me.ComboBox1.Location = New System.Drawing.Point(88, 48)
  36.         Me.ComboBox1.Name = "ComboBox1"
  37.         Me.ComboBox1.Size = New System.Drawing.Size(192, 21)
  38.         Me.ComboBox1.TabIndex = 0
  39.         '
  40.         'Button1
  41.         '
  42.         Me.Button1.Location = New System.Drawing.Point(168, 104)
  43.         Me.Button1.Name = "Button1"
  44.         Me.Button1.Size = New System.Drawing.Size(104, 40)
  45.         Me.Button1.TabIndex = 1
  46.         Me.Button1.Text = "Valider"
  47.         '
  48.         'Form1
  49.         '
  50.         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  51.         Me.ClientSize = New System.Drawing.Size(360, 294)
  52.         Me.Controls.Add(Me.Button1)
  53.         Me.Controls.Add(Me.ComboBox1)
  54.         Me.Name = "Form1"
  55.         Me.Text = "Form1"
  56.         Me.ResumeLayout(False)
  57.     End Sub
  58. #End Region
  59.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  60.         ComboBox1.SelectedIndex = 0
  61.     End Sub
  62.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  63.         MonModule.ValeurCmbBox = ComboBox1.SelectedItem
  64.         Dim NewForm2 As New Form2
  65.         NewForm2.Show()
  66.     End Sub
  67. End Class


 
Formulaire 2 : (Form2.vb)

Code :
  1. Public Class Form2
  2.     Inherits System.Windows.Forms.Form
  3. #Region " Code généré par le Concepteur Windows Form "
  4.     Public Sub New()
  5.         MyBase.New()
  6.         'Cet appel est requis par le Concepteur Windows Form.
  7.         InitializeComponent()
  8.         'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  9.     End Sub
  10.     'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
  11.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  12.         If disposing Then
  13.             If Not (components Is Nothing) Then
  14.                 components.Dispose()
  15.             End If
  16.         End If
  17.         MyBase.Dispose(disposing)
  18.     End Sub
  19.     'Requis par le Concepteur Windows Form
  20.     Private components As System.ComponentModel.IContainer
  21.     'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
  22.     'Elle peut être modifiée en utilisant le Concepteur Windows Form. 
  23.     'Ne la modifiez pas en utilisant l'éditeur de code.
  24.     Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
  25.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  26.         Me.TextBox1 = New System.Windows.Forms.TextBox
  27.         Me.SuspendLayout()
  28.         '
  29.         'TextBox1
  30.         '
  31.         Me.TextBox1.Location = New System.Drawing.Point(88, 72)
  32.         Me.TextBox1.Name = "TextBox1"
  33.         Me.TextBox1.Size = New System.Drawing.Size(224, 20)
  34.         Me.TextBox1.TabIndex = 0
  35.         Me.TextBox1.Text = ""
  36.         '
  37.         'Form2
  38.         '
  39.         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  40.         Me.ClientSize = New System.Drawing.Size(392, 174)
  41.         Me.Controls.Add(Me.TextBox1)
  42.         Me.Name = "Form2"
  43.         Me.Text = "Form2"
  44.         Me.ResumeLayout(False)
  45.     End Sub
  46. #End Region
  47.     Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  48.         TextBox1.Text = MonModule.ValeurCmbBox
  49.     End Sub
  50. End Class


 
A+
 

n°1119422
lilimilou2​9
Posté le 14-06-2005 à 13:09:07  profilanswer
 

Voilà l'erreur qd je met: ComboBox1.SelectedIndex = 0
 "L'argument spécifié n'était pas dans les limites de la plage des valeurs valides."
 
tu me dire pkoi ca ne marche pas

n°1119430
steppenwol​f
Posté le 14-06-2005 à 13:22:14  profilanswer
 

oui, tu dois remplir la combobox ! C'est la propriété Items de la combo. Tu saisis 2 ou 3 valeurs...

n°1119450
lilimilou2​9
Posté le 14-06-2005 à 13:37:41  profilanswer
 

oui ca marche ms tu peu me dire comment tu fait pour afficher 2 ou plus de valeur stp ?

n°1119458
steppenwol​f
Posté le 14-06-2005 à 13:46:12  profilanswer
 

Pour ajouter des valeurs dans ta combobox, tu fais :  
Tu déclare item du type que tu veux et tu fais
Combobox.Items.Add(item)

n°1119491
lilimilou2​9
Posté le 14-06-2005 à 14:01:26  profilanswer
 

je veux ajouter plusieurs valeurs dans des textBox differents?
je fais comment??
merci de ton aide

n°1119497
lilimilou2​9
Posté le 14-06-2005 à 14:03:17  profilanswer
 

j'ai fait ce code dans la form1
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MonModule.ValeurCmbBox = ComboBox1.SelectedItem
        MonModule.ValeurCBox = ComboBox2.SelectedItem
        Dim NewForm2 As New Form2()
        NewForm2.Show()
    End Sub

n°1119527
steppenwol​f
Posté le 14-06-2005 à 14:27:27  profilanswer
 

Tu veux stocker tous les éléments de ta combobox pour pouvoir les réutiliser après ?

n°1119533
lilimilou2​9
Posté le 14-06-2005 à 14:30:11  profilanswer
 

en gait j'ai un formulaire sur lekel je rentre un nom, prenom, tel; setion, hierachique.
je veux que cezs infos soient tranféfé sur un autre formulaire.

n°1119543
steppenwol​f
Posté le 14-06-2005 à 14:36:13  profilanswer
 

OK ! Ben c'est le même principe sauf que dans le module tu déclare un tableau qui te permettra de stocker ttes les infos.


Message édité par steppenwolf le 14-06-2005 à 14:36:36
n°1119559
lilimilou2​9
Posté le 14-06-2005 à 14:49:36  profilanswer
 

je sui paumé là..
tu peux m'exxpliquer comment faire stp

n°1119580
steppenwol​f
Posté le 14-06-2005 à 14:58:47  profilanswer
 

Ce que tu peux faire : dans ton module, tu déclares autant de variables que tu veux passer au formulaire suivant.
 

Code :
  1. Public nom As String
  2. Public prenom As String
  3. Public tel As String... etc


 
ou, avec un tableau :

Code :
  1. Public Valeurs() As String


 
Ensuite, dans ton bouton qui te permet de passer à l'autre formulaire, tu stocke ce que tu as saisi dans les variables du module.
 
Après, dans le 2ème form t'as plus qu'à utiliser les variables de ton module qui contiennent les valeurs saisies.
 

n°1119631
lilimilou2​9
Posté le 14-06-2005 à 15:27:51  profilanswer
 

voilà le code de la form1 :
  Private Sub BtAffec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtAffec.Click
        MonModule.nom = OL_Nom.SelectedItem
        Dim Utilisateur As New Utilisateur()
        Utilisateur.Show()
 
    End Sub
 
 
voilà le code de la form2:
Private Sub Utilisateur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TbNom.Text = MonModule.nom
    End Sub
 
Ya t'il des fautes parce que ca marche pas?

n°1119649
steppenwol​f
Posté le 14-06-2005 à 15:43:32  profilanswer
 

A priori c'est OK ! Tu peux expliquer ce qui ne marche pas ?
Ca t'affiche rien dans la txtbox ? Le pgm plante completement ?

n°1119653
lilimilou2​9
Posté le 14-06-2005 à 15:47:30  profilanswer
 

en fait j'ai remarquer que si je remplit la combobox ca marche
mais ac des textBox com form de départ ca marche pas
ton extractioon d'un formujlaire a un autre ca marche kavec des CmbBox?

n°1119673
steppenwol​f
Posté le 14-06-2005 à 16:00:24  profilanswer
 

Pourtant ca marche aussi avec des textbox !
 
Un exemple pour passer une valeur saisie dans form1 vers form2 :
 
Dans ton module, tu déclares :

Code :
  1. Public Valeur as String


 
Dans form1, dans le code du bouton tu mets :

Code :
  1. MonModule.Valeur = MaTextBoxSurForm1.Text
  2. Dim frm2 As New Form2
  3. frm2.Show()


 
Dans form2, fonction load :

Code :
  1. MaTextBoxSurForm2.Text = MonModule.Valeur


Message édité par steppenwolf le 14-06-2005 à 16:18:19
n°1119705
lilimilou2​9
Posté le 14-06-2005 à 16:14:32  profilanswer
 

merci ca marche
derniere question: fo t'il remplir la CmbBox?

n°1119720
steppenwol​f
Posté le 14-06-2005 à 16:20:56  profilanswer
 

Tout dépend si tu l'utilies ou pas... Si tu l'utilises pas, ca sert à rien mais si tu l'utilises c mieux de la remplir car si tu sélectionne à la base le 1er item avec

Code :
  1. Macmbbox.SelectedIndex = 0

et que t'as rien dans la combo, ca va planter !!!

n°1120267
lilimilou2​9
Posté le 15-06-2005 à 08:28:10  profilanswer
 

salu
je t'explique en fait cette cmbBox elle se remplit par incrementation automatique. Si tu veux qd j'appuie sur un bouton qui fait défiler les machines qui sont dans ma table le nom de l'utilisateur change atomatiquement. dc ma cmbBox n'est pas remplit. dc ac ton systeme ca me renvoie pas la valeur qu'il y a dans ma CmbBox

n°1120494
steppenwol​f
Posté le 15-06-2005 à 11:05:10  profilanswer
 

Hello !
C'que j'te propose c'est de poster tt ton code car le dernier msg j'ai pas bien saisi...

n°1120558
lilimilou2​9
Posté le 15-06-2005 à 11:27:48  profilanswer
 

si tu veux j'ai un formulaire qui me relie a une base sous MySql. Cette base elle contient 3 tables. La table machine_enregistrees contient plusieurs champs dt le nom de l'utilisateur propre a la machine que je fais apparaître dans une CmbBox.
Sur ce formulaire j'ai des boutons de navigations qui me permettent de faire défiler les enregistrements contenus les uns et après les autres.  
En ce qui concerne l'utilisateur, j'ai un bouton pour l'affecter a une autre personne. J’affiche les valeurs concernant l’ancien utilisateur dans le formulaire. Mais le pb est que tt ce qui est ds une TxtBox il veut bien me le tranférer dans le formulaire mais ce qui est ds la CmbBox.  Peut tu m’aider ? ?
J’espere que tu as compris.  

n°1120884
lilimilou2​9
Posté le 15-06-2005 à 15:11:48  profilanswer
 

tu peux m'aider stp.  
ca m'ennerve, je pietine

n°1121273
AlainTech
Pas trouvé? Cherche encore!
Posté le 15-06-2005 à 19:43:19  profilanswer
 

steppenwolf t'a demandé de poster ton code...
 
Tes descriptions sont incompréhensibles.

n°1121538
lilimilou2​9
Posté le 16-06-2005 à 09:33:32  profilanswer
 

en attendant ce que j'ai dans ma CmbBox ne s'affiche tjs pa....
En ce qui concerne mon code je vais pas pouvoir le poster aprce que j'en ai au moins 10 pages

n°1121885
AlainTech
Pas trouvé? Cherche encore!
Posté le 16-06-2005 à 13:48:33  profilanswer
 

On te demande juste la partie concernée. Pas tout le code.
 
Evite aussi le langage SMS, c'est pas très engageant à lire la description de ton problème.
 
Concernant cette description, essaye d'être clair:
Noms de tes contrôles, code associé, exemple de données, effet attendu, effet observé, messages d'erreur (avec mention de la ligne dans le code.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  changement de formulaire

 

Sujets relatifs
Access vba : ajuster un formulaire à la résolution écranFormulaire de Contact basique
Formulaire qui ne marche pas à cause d'un session_start()...Exo sur changement de varaibles
Checkbox + validation du formulaire (ASP/SQLServer)[VBA-ACCESS] Rafraîchissement d'un formulaire
changement automatique de champs dans un formulaireproblème de JS et formulaire
[RESOLU] Maintien d'un formulaire[HTML] Changement titre msg via formulaire
Plus de sujets relatifs à : changement de formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR