Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 Comment faire un tableau ? en VB Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Mer 28 Mar 2007 - 10:38 Répondre en citantRevenir en haut

Bonjour, voilà je vous explique mon problème...
Je voudrai faire un tableau qui contiendrai le nom du client (txtclt), la référence (txtref) ainsi que le nom de la profil qui sera traité (compie2)...
Je rentre ça dès le début (form1) et ça va se loger dans le form3 comme prévu...dont le code :
Code:
Total.txtclt.Text = txtclt.Text
Total.ref.Text = Txtref.Text
Total.profilN = Compie2.Text

-Dans le form2, il y a des valeurs à saisir ou à sélectionner dans des combobox (txt_compie) et des calcul qui se font (Larg+haut) * nbface = resu pi ensuite ya resu * long * nbpièce = TOTG. (le calcul du resu dépend de la pièce)
-Dans le form3, j'ai 3txtbox qui est un copier-coller de la form1 (voir code) et j'ai 3listbox qui concerne le nom de ma pièce (nom_p), le traitement (trait) et le total (tot), total qui vient du form2 (totG), à l'aide des boutons (TotalPièces) et un autre qui permet de multiplier TotalPièce * un chiffre saisie...(le total sera ds "txtens")...Donc ce que je voudrai c'est stocker le nom du client, la ref et le nom du profil (tant que je ne ferme pas laplli) et stocker oci les 3listbox ainsi que le txtens pour ensuite pouvoir ajouter des pièces ainsi de suite jusqu'à NON il me sort le cumul des txtens et aussi tous les profil et pièces comme celà...
Code:
Ici, le client a ramené deux profil "bati" et "Caillebotis",

Le Client : "Popo" (txtclt)
Sa référence "987" (ref)

Pour un profil : "Bati" (compie2)
Tôle (nom_p) ==> 1.8 (tot)
Carrée (nom_p) ==> 2.12 (tot)

Toutes les pièces font : "3.92" m² (Ttot)
Avec un Ensemble est de : "2" (nbens)

Le développé de toutes les pièces représente : "7.84" m² (txtens)

Pour un profil : "Caillebotis"
Rond ==> 0.8
HEA ==> 0.521

Toutes les pièces font : "1.321" m²
Avec un Ensemble est de : "2"
Le développé de toutes les pièces représente : "2.642" m²


Pour ce même client : Un développé de ("Somme") "10.482" m² (7.84 + 2.642)


Aidez-moi SVP
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
Jutenga
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 202
Localisation: Dans le 94

MessagePosté le: Mer 28 Mar 2007 - 11:29 Répondre en citantRevenir en haut

Alors pour faire ceci, il te faut un tableau à plusieurs dimension.
Dans ton cas, il te faut le nom du client, la référence et la profil. Donc trois colonne après, le nombre de ligne c'est toi qui voit ^^
Voici comment on déclarer un tableau en VB :
Code:

Dim t(n,2) as string



t c'est le nom de ton tableau
(x,y) x les lignes, y les colonnes
"String" le type de ton tableau. Dans ton cas, il faut mettre string car tu réuni plusieurs types de données(chaîne de caractère et entier ).

Je pense que si tu veux assigner quelque chose dans ton tableau, il faut faire comme ça :
Code:

t(0,0) = txtclt.Text
t(0,1) = Txtref.Text
t(0,2) = Compie2.Text



Voili voilou ^^
J'espère que celà va t'aider ^^'
Puis après, si tu veux, automatiser ton ajout dans le tableau, initialiser ton tableau,supprimer une ligne de ton tableau... tu peux faire des fonctions ^^

Ou une autre solution, te connecter à une BDD pour les stocker dans une tables !!!

(ps: j'ai trouvé cette réponse sur le net ici )
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Jeu 29 Mar 2007 - 10:05 Répondre en citantRevenir en haut

D'autre avis !!?
Voir le profil de l'utilisateurEnvoyer un message privé
Jutenga
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 202
Localisation: Dans le 94

MessagePosté le: Jeu 29 Mar 2007 - 11:27 Répondre en citantRevenir en haut

Bon...
À ce que je vois, ce que je t'ai proposé ne t'a pas plus
aussi bien ici que sur msn...

On ne va pas te macher le travail non plus...

Je t'ai donné une solution toute prête, il fallait juste que tu fasse à ta sauce...
Mais, dans ces cas là, si ça te plaît pas dis le au moins...

C'est un peu plus poli ^^

Autre solution : tu sauvegarde tes données dans un fichier texte que tu ouvre à chaque fois que tu en as besoin et avant de le fermer tu enregistre toutes les modifications que tu as faites .

Voilà
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Jeu 29 Mar 2007 - 11:35 Répondre en citantRevenir en haut

Ton code je lai mi ci dessous lol...
Code:
Dim t(0, 9) As String

t(0, 0) = Total.txtclt.Text
t(0, 1) = Total.ref.Text
t(0, 2) = Total.profilN.Text
t(0, 3) = Total.nom_p.Text
t(0, 4) = Total.trait.Text
t(0, 5) = Total.tot.Text
t(0, 6) = Total.Ttot.Text
t(0, 7) = Total.nbens.Text
t(0, 8) = Total.txtens.Text


la preuve lol...le truc c ke jarive pô a le remetre ds le txtrecap
Voir le profil de l'utilisateurEnvoyer un message privé
Jutenga
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 202
Localisation: Dans le 94

MessagePosté le: Jeu 29 Mar 2007 - 12:07 Répondre en citantRevenir en haut

Bah oui.
Le tableau que tu as crée enregistrera un seul client.
Pour afficher dans ton textrecap, tu les mets dans un textbox ou un listbox.

Si il dit qu'il trouve pas les variables, c'est que ton tableau n'est pas en global, étant donné que c'est un form différent.

Franchement dans ton programme, tu as une ouverture et fermeture de fichier...
Moi dans ma formation, on m'a appris d'abord les bases de programmation en VB structures conditionnelles(if,while...).
Pour ensuite passer à de la programmation de plus en plus compliqué.
L'ouverture et fermeture de fichier était vers la fin de mon programme d'étude.
Les tableaux étaient situés avant les fichiers.
Donc je trouve bizarre que tu ne le sache pas(avis comparatif avec ma formation :/ ).
enfin ya des trucs qui me paraissent bizarres...

(ps: évite le langage sms merci, c'est pas moi qui va te le répéter sinon ^^)
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Jeu 29 Mar 2007 - 14:41 Répondre en citantRevenir en haut

Pour ce qui est de la formation je ne faisais pas de VB donc c'est pour ça que je demande de l'aide...Enfin j'en ai fais grâce au tuto des forums mais pour les tableaux je sèche...
Citation:
Pour afficher dans ton textrecap, tu les mets dans un textbox ou un listbox.
C'est une textbox que j'ai codé sur un bonton Récap
Code:
Private Sub cmdRecap_Click()

Recap.txtrecap.Text = "Le Client : " & txtclt.Text & vbCrLf & _
"Sa référence " & ref.Text & vbCrLf & _
"Pour un profil : " & profilN.Text & vbCrLf

For i = 0 To nom_p.ListCount - 1
Recap.txtrecap.Text = Recap.txtrecap.Text & vbCrLf & _
"- " & nom_p.List(i) & " en " & trait.List(i) & " >> " & tot.List(i) & " m²."
Next

Recap.txtrecap.Text = Recap.txtrecap.Text & vbCrLf & vbCrLf & _
"Toutes les pièces font : " & Ttot.Text & " m²." & vbCrLf & _
"Avec un Ensemble est de : " & nbens.Text & vbCrLf & vbCrLf & _
"Le développé de toutes les pièces représente : " & txtens.Text & " m²."

Recap.Show
End Sub


Pour ce qui est de mon tableau, ça ne marche toujour mais dans mon module j'ai ton code
Code:
t(0, 0) = Total.txtclt.Text
t(0, 1) = Total.ref.Text
t(0, 2) = Total.profilN.Text
t(0, 3) = Total.nom_p.Text
t(0, 4) = Total.trait.Text
t(0, 5) = Total.tot.Text
t(0, 6) = Total.Ttot.Text
t(0, 7) = Total.nbens.Text
t(0, 8) = Total.txtens.Text
Est ce que celà est bien fais C'est cohérent
Voir le profil de l'utilisateurEnvoyer un message privé
Jutenga
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 202
Localisation: Dans le 94

MessagePosté le: Ven 30 Mar 2007 - 10:15 Répondre en citantRevenir en haut

Bah à vrai dire, je ne sais pas...
JE ne fais pas de VB très souvent...
J'ai juste chercher sur le net :/
Après, les bases que j'ai en VB sont celles que j'ai acquises en cours et en TP.
Du moins, les structures du VB + mes connaissances en algorithmique ont fait que je réussissai assez bien ce que je faisai...
Mais bon, après chacun son truc...
De plus, je n'ai pas l'appli sous les yeux c'est pas facile...
En fait, je marche surtout par test...

Mais bon comme en ce moment je n'ai pas trop le temps, je dois préparer comme tout bon deuxième année mes PTI pour mon BTS ^^

Donc vila c'est tout ce que je peux faire pour toi :s
désolé
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Ven 30 Mar 2007 - 15:51 Répondre en citantRevenir en haut

Comment afficher ces données dans un textbox appelé txtrecap?

Code:

'Là c'est dans un module et je voudrai les afficher dans un textbox...
Option Explicit

Public Function fiche() As Integer
Dim cpt As Integer
Dim t(0, 8) As String
   If cpt = 0 Then
      t(0, 0) = Total.txtclt.Text
      t(0, 1) = Total.ref.Text
      t(0, 2) = Total.profilN.Text
      t(0, 3) = Total.nom_p.Text
      t(0, 4) = Total.trait.Text
      t(0, 5) = Total.tot.Text
      t(0, 6) = Total.Ttot.Text
      t(0, 7) = Total.nbens.Text
      t(0, 8) = Total.txtens.Text
   Else
      t(cpt, 0) = Total.txtclt.Text
      t(cpt, 1) = Total.ref.Text
      t(cpt, 2) = Total.profilN.Text
      t(cpt, 3) = Total.nom_p.Text
      t(cpt, 4) = Total.trait.Text
      t(cpt, 5) = Total.tot.Text
      t(cpt, 6) = Total.Ttot.Text
      t(cpt, 7) = Total.nbens.Text
      t(cpt, 8) = Total.txtens.Text
   End If
cpt = cpt + 1
End Function
Voir le profil de l'utilisateurEnvoyer un message privé
Marc3001
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 126
Localisation: Guingamp

MessagePosté le: Mar 03 Avr 2007 - 08:47 Répondre en citantRevenir en haut

Déjà là ta condition elle sert à rien....
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Mar 03 Avr 2007 - 09:26 Répondre en citantRevenir en haut

Marc3001 a écrit:
Déjà là ta condition elle sert à rien....


Pourquoi donc ?
En faite maintenant j'ai ça :
Code:
Dim cpt As Integer
Dim t(10, 9) As String

Public Function fiche() As Integer
      t(cpt, 0) = Total.txtclt.Text
      t(cpt, 1) = Total.ref.Text
      t(cpt, 2) = Total.profilN.Text
      t(cpt, 3) = Total.nom_p.Text
      t(cpt, 4) = Total.trait.Text
      t(cpt, 5) = Total.tot.Text
      t(cpt, 6) = Total.Ttot.Text
      t(cpt, 7) = Total.nbens.Text
      t(cpt, 8) = Total.txtens.Text
cpt = cpt + 1
End Function


mon tableau s'appelle t et comment l'apeller msgbox ("t") ?
Voir le profil de l'utilisateurEnvoyer un message privé
lud-inh0
Newbiiiie
Newbiiiie


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 7

MessagePosté le: Mar 03 Avr 2007 - 13:33 Répondre en citantRevenir en haut

Enfiate j'ai réussi à faire ce que je voulais mais bon c'est pas encore ça...
Code:
Private Sub cmdajoutP_Click()
Dim Repajout
Dim Tab2 As String
Dim t(1, 9) As String
Repajout = MsgBox("Souhaitez-Vous Ajouter un Profil", vbYesNo + vbQuestion, "Quitter ou non")
If Repajout = vbYes Then
'boucle sur le tableau t
Tab2 = ""
For i = 0 To UBound(t, 1)
  For j = 0 To UBound(t, 2)
    MsgBox "Cellule(" & CStr(i) & "/" & CStr(j) & ") Contenu : " & t(i, j)
    Tab2 = Tab2 & t(i, j) & vbTab
 Next j
 Tab2 = Tab2 & vbCrLf
Next
MsgBox "Tab2"
'fin tableau
    Clt.Show
    vshautbas2.Value = 0
   
Else
        If Repajout = vbNo Then
Recap.txtrecap.Text = "Le Client : " & txtclt.Text & vbCrLf & _
"Sa référence " & ref.Text & vbCrLf & _
"Pour un profil : " & profilN.Text & vbCrLf
For i = 0 To nom_p.ListCount - 1
Recap.txtrecap.Text = Recap.txtrecap.Text & vbCrLf & _
"- " & nom_p.List(i) & " en " & trait.List(i) & " >> " & tot.List(i) & " m²."
Next
Recap.txtrecap.Text = Recap.txtrecap.Text & vbCrLf & vbCrLf & _
"Toutes les pièces font : " & Ttot.Text & " m²." & vbCrLf & _
"Avec un Ensemble est de : " & nbens.Text & vbCrLf & vbCrLf & _
"Le développé de toutes les pièces représente : " & txtens.Text & " m²."
Recap.Show
        End If
End If
End Sub


Le résultat
Cellule(0/0) Contenu: OK
Cellule(0/1) Contenu: OK
Cellule(0/2) Contenu: OK
Cellule(0/3) Contenu: OK
Cellule(0/4) Contenu: OK
Cellule(0/5) Contenu: OK
Cellule(0/6) Contenu: OK
Cellule(0/7) Contenu: OK
Cellule(0/Cool Contenu: OK

Cellule(1/0) Contenu: OK
Cellule(1/1) Contenu: OK
Cellule(1/2) Contenu: OK
Cellule(1/3) Contenu: OK
Cellule(1/4) Contenu: OK
Cellule(1/5) Contenu: OK
Cellule(1/6) Contenu: OK
Cellule(1/7) Contenu: OK
Cellule(1/Cool Contenu: OK

Ainsi de suite mais ça me prend du temps à rien non...et le msgbox n'affiche rien...
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum