begin process at 2012 02 14 18:50:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Windows

 > 

ActiveX / COM

 > 

Déclaration Tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Déclaration Tableau

vendredi 19 mai 2006 à 04:41:49 | Déclaration Tableau

diiplayer

Salut, je tente actuellement de créé un petit OCX qui va aller lire des données dans un fichier Text et me les séparés dans un Tableau. Cependant, j'obtien un message d'erreur "Subscript out of range" et je sais pas comment sa.
Voici l'endoit ou l'erreur ce fait :

Do While Not EOF(bytFile)
        Row = Row + 1
        Line Input #bytFile, strTempData
        If Col_Init = 0 Then Col_Init = Round(Len(strTempData) / Col_width, 0)
->    ReDim Preserve strData(Row, Col_Init)
        Dim i As Integer
        For i = 1 To Round(Len(strTempData) / Col_width, 0)
        strData(Row, i) = Mid(strTempData, i * Col_width, Col_width)
        Next i
        DoEvents
Loop

l'erreur se produit quand Row = 2, et je ne comprends pas pourquoi :'( si quelqu'un pouvais m'éclairé

Dii-Player
vendredi 19 mai 2006 à 07:59:33 | Re : Déclaration Tableau

Renfield

Administrateur CodeS-SourceS
comment as tu déclaré ton tableau ?

tu peux également faire :
If Col_Init = 0 Then Col_Init = Len(strTempData) \ Col_width

et pour ta boucle :

For i = 1 To Col_Init

à noter que tu ne récupère pas dans ton tableau la première colonne de données


Renfield
Admin CodeS-SourceS- MVP Visual Basic
vendredi 19 mai 2006 à 11:36:01 | Re : Déclaration Tableau

deuspi

Réponse acceptée !
ReDim Preserve strData(Row, Col_Init)

C'est là ton erreur, tu essayes de redimensionner un tableau multidimensionnel, en faisant varier la 1ère dimension. En VB dans un tableau multidimensionnel, seul la dernière dimension peut être redimensionnée par un Redim Preserve.

En effet, si tu regardes dans l'aide du mot-clef "ReDim" tu trouveras cette phrase :

"Si vous utilisez le mot clé Preserve, vous ne pouvez redimensionner que la dernière dimension du tableau."

D'après moi tu pourrais résoudre rapidement ton problème en inversant les dimensions du tableau. Mais j'aime pas trop les tableaux multidimensionnels en VB, personnellement je te conseille plutôt d'utiliser des tableaux de types (tu crées un type personnalisé et tu fais un tableau monodimensionnel de ce type)
vendredi 19 mai 2006 à 11:54:54 | Re : Déclaration Tableau

Renfield

Administrateur CodeS-SourceS
tu peux par exemple dimensionner ton tableau (en ligne) dès le départ, en comptant préalablement les lignes de ton fichier.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
vendredi 19 mai 2006 à 13:23:49 | Re : Déclaration Tableau

diiplayer

Il y aurait-il une manière de compté le nombre de ligne ou dois-je procédé avec une boucle?

Dii-Player
vendredi 19 mai 2006 à 14:52:56 | Re : Déclaration Tableau

Renfield

Administrateur CodeS-SourceS
une autre solution peut etre de lire (s'il n'est pas trop gros) tout ton fichier
et de jouer avec Split pour séparer tes lignes.

Renfield
Admin CodeS-SourceS- MVP Visual Basic


Cette discussion est classée dans : tableau, col, width, row, strtempdata


Répondre à ce message

Sujets en rapport avec ce message

recuperation de variables d'un tableau [ par crocmorts ] Salut, voila le probleme, j'importe un tableau venant d'un fichier texte, je lui dis 1000 lignes 10 colonnes.Seulement j'ai besoin d'exploiter chaque PictureBox, groupes de controle et tableau à deux dimensions [ par Heigye ] Bonjour,J'essaie de realiser une application permettant de jouer au jeu reversi, mais je me heurte a un problème.Pour définir mon interface, j'ai util ms flex grid [ par Fleur54 ] bonjourje dois crée un tableau sous msflex grid mais je ne sais pas remplir les cases internes. ce que je veux c'est que les cases soient égales à la DEMANDE AIDE OPTIMISATION CODE [ par laurent92370 ] Bonjour,Le code suivant fonctionne, mais le traitement est TRES LONG. Je demande de l'aide pour optimiser ce code. Merci a ceux qui vondront m'aider, tableau de tableaux [ par nitho ] Bonjour à tous Qui sait comment on pourrait coller sur une feuille le contenu d'un tableau de tableaux ???? J'ai essayé ça... Pas de bug, mais aucu accéder à la valeur d'un champ [ par goalie60 ] Bonjour! Je débute en VB, donc excusez moi si je pose des questions idiotes ou si je tente des codes d'apprenti-sorcier à la limite de l'hérétisme ;-) Erreur '3021' [ par soltwoter ] Bonjour à tous, je suis nouveau sur le forum. Je migre actuellement une application DAO d'un logiciel vers ADO. Private Sub Ss0_DataFill(ByVal Col As ListBox afficher/Afficher le résulta dans plusieurs colonnes [ par newbs68 ] Bonjour j’ais aucune expérience en VB, je voudrais afficher les résultats sur plusieurs colonnes dans une liste Box, ma portion de code :Private Sub C Récup du texte dans une page web [ par Marneus73 ] Bonjour à tous,Question : Comment faire pour récup du texte dans une page web ???J'ai le code source d'une page suivant :[...] table width</spa inversion tableau [ par Belag55 ] Bonjour, Voici mon problème : dans un gros tableau excel (comprenant plusieurs milliers de lignes et dizaines de colonnes), je dois régulièrement y pê


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales