IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Copier D'une Matrice(sous form de text box)


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut Copier D'une Matrice(sous form de text box)
    salut tout le monde

    j ai créer mon interface et j ai une matrice que je remplie moi même mais je veux recopier ce que j ai saisis dans une matrice afin de faire un calcul entre elle et une autre matrice

    et merci encore de votre aide

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Salut
    recopier ce que j'ai saisis dans une matrice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Form_Load()
    Dim T As Integer
     
    Dim Matrice1(2) As Integer
    Matrice1(0) = 1: Matrice1(1) = 2: Matrice1(2) = 3 'matrice générée par le TextBox
     
    Dim Matrice2() As Integer 'Matrice de récupération
    'affectation (copie) de Matrice1 dans Matrice2
    Matrice2 = Matrice1
     
    'exemple d'utilisation
    Dim Msg As String 'pour former le message
     
    For T = 0 To UBound(Matrice1)
        Msg = Msg & CStr(Matrice1(T) + Matrice2(T)) & vbCrLf ' calcul en employant les 2 matrices
    Next T
    MsgBox Msg
    End Sub
    Pour autant, un peu de code déjà réalisé serait bien utile.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    salut encore une fois merci pour ta méthode mais j ai fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Private Sub Command2_Click()
     
    Dim ind As Integer
    Dim ind1 As Integer
    Dim ind2 As Integer
    Dim Ind3 As Integer
    Dim i As Integer
    Dim cpt As Integer
    Dim j As Integer
     
     
    cpt = 0
    ind = 0
    ind1 = 0
    ind2 = 0
    Ind3 = 0
     
    For i = 1 To nbr1
    Disp(i) = Val(Text1(Ind3).Text)
    Ind3 = Ind3 + 1
    Next
     
    For i = 1 To nbr1
    For j = 1 To nbr
     
    B(i, j) = Val(Text3(ind).Text)
    ind = ind + 1
    Next
    Next
     
    For i = 1 To nbr1
    For j = 1 To nbr
    Alloc(i, j) = Val(Text4(ind1).Text)
    ind1 = ind1 + 1
    Next
    Next
     
    For i = 1 To nbr1
    For j = 1 To nbr
     
    Manque(i, j) = B(i, j) - Alloc(i, j)
    Next
    Next
    For i = 1 To nbr1
    Da(i) = Val(Text2(ind2).Text)
    ind2 = ind2 + 1
    Next
     
    j = 1
    For i = 1 To nbr1
    cpt = cpt + Alloc(i, j)
    Next
    If (cpt > Disp(j)) Then
    MsgBox "Erreur Allocation"
    Else
    If (cpt = Disp(j)) Then
    MsgBox "Juste"
    Else
    MsgBox "zarbi"
    End If
    End If
    End Sub
    et j ai tjr le même cas malgré même si je fais exprés de saisir des données pour tomber dans le 1 ou 3 iem cas mais sa affiche tjr juste donc si vous pouviez m aider sa serait trés gentil de votre part

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Tu peux modifier ton code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Juste et cpt vaut " & cpt
    Et nous dire ce que vaut cpt ? Je pense que cpt vaut 0 mais j'aimerais en etre sur.

    Au passage, puisque ton probleme ne semble pas resolu (meme si j'avoue n'y avoir rien compris) pourquoi as tu clique sur le bouton "Resolu" ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    1 le cpt sert a faire la somme d une colonne de la matrice aprés je teste avec une case d un tableau afin de voir si sont = < >
    j ai cliqué sur résolu pq je pensais que c etait bon mais une fois que j ai commencé le traitement c était plus cas

  6. #6
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Citation Envoyé par ClubberGuy Voir le message
    1 le cpt sert a faire la somme d une colonne de la matrice aprés je teste avec une case d un tableau afin de voir si sont = < >
    j ai cliqué sur résolu pq je pensais que c etait bon mais une fois que j ai commencé le traitement c était plus cas
    Pour le bouton "Resolu" il suffisait alors de cliquer de nouveau sur celui-ci (je l'ai fait pour toi cette fois ci).
    En dehors du fait que je n'ai strictement rien compris a ton probleme, tu peux deja alleger un peu ton code par exemple comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Private Sub Command2_Click()
     
    Dim i As Integer
    Dim cpt As Integer
    Dim j As Integer
     
    For i = 1 To nbr1
      Disp(i) = Val(Text1(i-1).Text)
      Da(i) = Val(Text2(i-1).Text)
      For j = 1 To nbr
        B(i, j) = Val(Text3(j-1).Text)
        Alloc(i, j) = Val(Text4(j-1).Text)
        Manque(i, j) = B(i, j) - Alloc(i, j)
      Next j
    Next i
     
    j = 1
    For i = 1 To nbr1
      cpt = cpt + Alloc(i, j)
    Next j
     
    If (cpt > Disp(j)) Then
      MsgBox "Erreur Allocation"
    ElseIf (cpt = Disp(j)) Then
      MsgBox "Juste"
    Else
      MsgBox "zarbi"
    End If
     
    End Sub
    Ca marchera ni mieux ni moins bien en l'etat actuel mais ca evite deja d'avoir un paquet de variables Indx totalement inutiles.
    On ne sait pas non plus ce que valent les variables nbr et nbr1
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    pour les valeurs de nbr=val(Form1.Text1.Text)une valeur saisie dans la premiere form et nbr1=val(Form1.Text2.Text) la même chose pq dans la premiere form on saisit 2 nombre qui réprésente une les lignes des matrices et l autre les colonnes
    j ai afficher le tableau dans un msgbox et sa m affiche le vide donc ma maniere de récuperer les donnés saisie sur la matrice en form de textbox est fausse

  8. #8
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Mais a quel niveau les variables nbr et nbr1 sont-elles declarees ?

    Ajoute en debut de ta procedure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Command2_Click()
    msgbox "nbr = " & nbr & vbcrlf & "nbr1 = " & nbr1
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    elles sont des variables globales que j initialise dans le Form Load
    et j ai vu que le contenu n est pas celui que j ai saisi
    quand j ai refais l initialisation j ai une erreur groupe de controle n existe pas sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Command2_Click()
    Dim i As Integer
    Dim cpt As Integer
    Dim j As Integer
    Dim ligne As Integer
    nbr = Val(Form1.Text1.Text)
    nbr1 = Val(Form1.Text2.Text)
     
    MsgBox "nbr = " & nbr & vbCrLf & "nbr1 = " & nbr1
    For i = 1 To nbr1
      Disp(i) = Val(Text1(i - 1).Text)
      Da(i) = Val(Text2(i - 1).Text)
      For j = 1 To nbr
         'B(i, j) = Val(Text3(j - 1).Text) la ;) 
        Alloc(i, j) = Val(Text4(j - 1).Text)
        Manque(i, j) = B(i, j) - Alloc(i, j)
      Next j
    Next i

  10. #10
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Citation Envoyé par ClubberGuy Voir le message
    elles sont des variables globales que j initialise dans le Form Load et j ai vu que le contenu n est pas celui que j ai saisi
    Ben t'as plus qu'a rechercher pourquoi

    Faut aussi que tu apprennes un peu les techniques de debugage parce que sinon t'es pas sorti de l'auberge. Alors mets un point d'arret sur ta ligne provoquant l'erreur (F9) et regardes ce que valent i et j
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    oui mais je vois pas trop ou ya eu un probleme et je m my connais pas en débogage donc si tu peux m aider sa serait fort gentil de ta part
    mnt j ai erreur 340 sur la même ligne que je t ai montré au paravant avec groupe de controle 1 n existe pas

  12. #12
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    As tu un groupe de controles Text3 sur ta feuille ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    Oui biensur ¨^^"

  14. #14
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    C'est etrange parce que j'aurais plutot tendance a penser que "bien sur" il n'y a pas de controle Text3 avec propriete Index = 1
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    Oui mais mnt le cpt ne bouge plus ou plutot il ne fait que s incrémenter d une manière simple non la somme avec la colonne de la matrice :'( genre cpt=cpt+1 alors que normalement cpt=cpt + Alloc(i,j)

  16. #16
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bon, je pense avoir vraiment essaye de t'aider mais tes questions partent dans tous les sens, j'ai vraiment du mal a te suivre donc fais l'effort de poster des questions claires et precises ou je serai oblige de fermer cette discussion.

    Tu as demarre ce sujet en demandant comment copier un tableau, ProgElect te donne une solution que visiblement tu n'appliques pas. Puis tu nous parles d'un controle ayant visiblement un probleme au niveau de ses Index et maintenant un autre probleme de code.

    Si ces problemes ne sont pas lies, une question/probleme = une discussion.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Points : 13
    Points
    13
    Par défaut
    oui tu as raison je m excuse encore merci d avoir répondu pour le truc de cpt je cree une nouvelle discussion alors ?

  18. #18
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Si c'est un probleme qui n'a rien a voir avec la question d'origine, oui, mais prends le temps d'ecrire une question COMPLETE. C'est a dire (entre autre) que tu expliques d'ou viennent les differentes variables utilisees, a quel niveau elles sont declarees et tu joins les portions de code necessaires a la comprehension de ton probleme. Tu peux aussi commencer par une explication generale de ce que tu cherches a faire, bref, mets le maximum d'informations utiles, plus la question est claire, plus tu as de chances d'avoir une reponse rapide et directe.
    Je ne saurais trop t'encourager a apprendre le debugage (points d'arrets, espions, etc..) Personnellement j'utilise beaucoup l'instruction "Debug.Print" (fais une recherche dans l'aide de VB). Tu economiseras ensuite 10 fois le temps que tu consacreras a cet apprentissage (et le notre aussi par la meme occasion )
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

Discussions similaires

  1. Mettre une matrice sous forme d'une colonne unique
    Par mfontan dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/09/2008, 14h32
  2. Matrices sous forme de tableaux à une dimension - Décallage variable
    Par Plorf dans le forum Algorithmes et structures de données
    Réponses: 38
    Dernier message: 11/07/2008, 09h52
  3. Réponses: 5
    Dernier message: 27/04/2007, 15h06
  4. Réponses: 3
    Dernier message: 20/04/2007, 17h26
  5. Réponses: 2
    Dernier message: 20/12/2006, 08h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo