Ecrire dans un datagridview depuis un .form

Signaler
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011
-
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011
-
Bonjour , le language utilisé est VB.net avec visual studio 2005
j'ai un .form qui contient un datagridview et un bouton "ajouter". Lorsque je Click sur le bouton "ajouter", j'ai un autre .form qui apparaît pour saisir des données puis je valide avec un bouton "OK". Le problème c'est que le programme ne reconnait pas le chemin pour aller dans le datagridview du .form1 depuis le .form2 . De plus j'ai déjà fais ce code sur visual studio 2010 et ça a marché nickel mais hélas je dois utiliser visual studio 2005 pour que ma macro fonction avec Solidworks 2011!!!
voici mon code des deux form :

'''''''''''''''''''''''''''''''''''''''''''''''''''''''form1''''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports System.Windows.Forms
Public Class Form_creation_profil

    Public Sub Button_Ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Ajouter.Click
        Dim Form_creation_mvt As New Form_creation_mvt
        Form_creation_mvt.Show()
        Form_creation_mvt.TextBox_Ra.Text = ""
        Form_creation_mvt.TextBox_beta.Text = ""
    End Sub
End Class
''''''''''''''''''''''''''''''''''''''''''''''''''''''form2'''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports System.Windows.Forms
Public Class Form_creation_mvt

    Public Sub Button_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_OK.Click
        Dim cel1 As New DataGridViewTextBoxCell
        Dim cel2 As New DataGridViewTextBoxCell
        Dim cel3 As New DataGridViewTextBoxCell
        Dim degremax As Double
        Dim i As Integer
        Dim ligne As DataGridViewRow
        Dim Form_creation_profil As New Form_creation_profil
        ligne = New DataGridViewRow
        cel1 = New DataGridViewTextBoxCell
        cel2 = New DataGridViewTextBoxCell
        cel3 = New DataGridViewTextBoxCell
        cel1.Value = Me.ComboBox_type_mvt.SelectedItem
        cel2.Value = Me.TextBox_Ra.Text
        cel3.Value = Me.TextBox_beta.Text

        For i = 0 To Form_creation_profil.DataGridView1.RowCount - 1
            degremax = degremax + Form_creation_profil.DataGridView1.Rows(i).Cells(2).Value
        Next
        degremax = degremax + cel3.Value
        If degremax > 360 Then
            Call erreurdegremax()
        Else
            ligne.Cells.Add(cel1)
            ligne.Cells.Add(cel2)
            ligne.Cells.Add(cel3)
            Form_creation_profil.DataGridView1.Rows.Add(ligne)
            Me.Hide()
        End If
    End Sub


Merci d'avance de votre aide.

16 réponses


Salut,

Pourquoi cette ligne?
 Dim Form_creation_profil As New Form_creation_profil
      

Form_creation_profil c'est ta Form1 non?
Qui est déjà crée, pourquoi la créer une deuxième fois?
Enlève...

Cordialement




CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Salut,
Si j'ai rajouté cette ligne c'est parce que quand je l'enlève j'ai ce message d'erreur :
Error 1 Reference to a non-shared member requires an object reference.
Alors que sur Visual studio 2010 ça marche sans cette ligne. J'ai passé beaucoup de temps a chercher comment résoudre ce problème mais je ne trouve pas. Help me!

Re:

A partir du moment que t'as:
Public Class Form_creation_profil


Je ne vois pas pourquoi ça "déconne"...
Par contre si tu as:
Private Class Form_creation_profil

C'est normal....


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Re:

Oui j'ai bien mis partout partout des Public class, public sub. Mais j'ai l'impression que sur vb 2005 il faut lui indiquer le chemin pour aller d'un .form à l'autre. Mais je ne vois pas comment on fait cela.

Ok...
J'ai pas de 2005 bien sûr, mais je ne pense pas que ça a un rapport, il doit y avoir des "petites souris" qui ont mangé le fil de la liaison entre les deux Forms.

Si tu as VB2005, fait un projet à neuf avec deux Forms et essaye d'accéder entre eux.
Il n'y a pas de raison que ça ne marche pas...

Puis je vais te simplifier un peu le code et tu vas le tester.




CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Oui cette solution de refaire le projet a neuf je l'ai fais deux fois.
Là je viens de créer un projet où j'ai ajouter deux .form :

Public Class Form1
    Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.Show()
    End Sub
End Class

Public Class Form2

End Class


Et c'est la même chose : Error 1 Reference to a non-shared member requires an object reference.

Je ne comprend pas. visual studio 2005 utilise .net frameworks v2 alors que vs 2010 c'est frameworks v4, il y aurait il un rapport?

C'est à quoi je réfléchis...
Et tu as les deux versions installées sur la même machine?



CF2i - Guadeloupe
Ingénierie Informatique

Et pourquoi ton Solidworks ne fonctionne pas avec VB2010? je pense que le mieux c'est de chercher de ce coté et faire ton appli en vb2010.



CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Oui j'ai les deux versions. En fait je dois créer une macro pour SolidWorks (logiciel de CAO), je commence par créer un projet VB.net par l'intermédiaire de solidworks qui lui ouvre "SolidWorks Visual Studio Tools for Applications"
qui est Visual Studio 2005 V8.0.50727.42 Tools for applications avec microsoft .NET Framework Version 2.0250727 SP2.

C'est vraiment Bizarre

Merci de votre soutient
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Oui j'ai pensée à cette optique mais d'une je ne suis pas sur que ce soit possible et les ordinateurs sur lequel dois fonctionner ma macro ne possède pas visual basic 2010 et je n'ai pas le droit de l'installer dessus.

Alors, soit tu installes vb2005 tout seul sur une autre machine, soit tu cherches une mise à jour de solidworks qui fonctionne avec vb2010

Mais d'après ce que j'ai vu sur le web ça s'arrête à vb2008...

Je peux te donner un lien de téléchargement, tu as quel version de solidworks (SP4, SP5)? tu es en 32 ou 64 bits?

CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Merci pour les informations, mais ma situation est la suivante: je suis étudiant en mécanique et je dois présenter une macro qui calcul des profils de came à mes professeurs sur les machines de l'université que je ne peux pas modifier. Donc faudrait que j'aille à l'université voir si ça fonctionne et du coup voir si le problème vient de mon ordinateur personnel.

Oui ou sinon désinstaller vb2010 et la framework4 sur ton pc (et probablement réinstaller vb2005), c'est galère...


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Oh oui, sachant que dernièrement j'ai formaté mon ordinateur et j'ai tout réinstallé proprement mes logiciels et tout mis à jour. Je vais voir à l'université si ma macro marche et demander au service informatique si il n'en pas déjà eu ce problème. Merci pour vos conseils.

Attend...
Essaye de faire comme ça pour voir:
Imports System.Windows.Forms

Public Class Form1

   Inherits Form

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

      Dim Form2 As Form2 = New Form2

      Form2.Show()

   End Sub

End Class

Public Class Form2

   Inherits Form

End Class


Juste pour voir...



CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
11
Date d'inscription
dimanche 16 octobre 2011
Statut
Membre
Dernière intervention
19 novembre 2011

Toujours rien, ça ne dialogue pas. :(
Merci comme même. Je vous tient au courant lorsque j'aurai débloqué ma situation