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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Tableau à commencer à l'indice 0

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableau à commencer à l'indice 0

n°1488225
lhonolulu
Posté le 07-12-2006 à 17:53:29  profilanswer
 

Bonjour,
 
Je veux insérer des données dans un tableau à partir d'une feuille excel (sans parcourir toute la feuille) et que le 1er indice de mon tableau soit TabAll(0,0) et non TabAll(1,1)
 
En parcourant ma feuille :

Code :
  1. Dim TabAll(9, 9) as variant
  2. For i = 1 To 10
  3.     For j = 1 To 10
  4.         TabAll(j - iBegTab, i - 1) = xlwks_bdd.Cells(j, i).Value
  5.     Next
  6. Next


Dans ce cas là TabAll(0,0) est bien la 1ere cellule de ma feuille. Mais là j'ai scanné l'ensemble de ma feuille (chose que j'aimerai éviter)
 
Sans sacnner la feuille, je dois déclarer un tableau avec une ligne de plus et une colonne de plus car le TabAll commencera à TabAll(1,1)
 

Code :
  1. Dim TabAll(10, 10)
  2. With xlwks_bdd
  3.    
  4.    TabAll = .Range(.Cells(1, 1), .Cells(10, 10))
  5. End With


 
Avec cette méthode TabAll(0,0) provoque une erreur car ce tableau commence à TabAll(1,1)
J'ai esseyé d'écrire "Option Base 0" mais cela n'a rien changé. tabAll commence toujours à la ligne 1
 
En éspérant avoir était clair dans mes explications...
merci

mood
Publicité
Posté le 07-12-2006 à 17:53:29  profilanswer
 

n°1488231
FlorentG
Posté le 07-12-2006 à 17:59:27  profilanswer
 

C'est si grave que ça commence à 1 ?

n°1488232
lhonolulu
Posté le 07-12-2006 à 18:01:48  profilanswer
 

Oui car y a tt un programme qui "oblige" que le tableau commence à 1. et de plus tt les combobox, listbox commence à 0. donc ca évite de s'embrouiller

n°1488235
FlorentG
Posté le 07-12-2006 à 18:07:23  profilanswer
 

Mouais... :D :D Y'a plus grave comme problème je crois

n°1488410
lhonolulu
Posté le 08-12-2006 à 10:08:47  profilanswer
 

Oui, de toute facon un pb informatique n'est jamais grave. ce n'est qu'un programme.
Mon pb c'est que dans le programme que j'ai récupéré je dois avoir environ une dizaine de tableaux qui commencent tous à l'indice 0. et un de ces tableaux comme dans le 1er post est pris en scannant l'intégralité d'une feuille excel (cette procédure de scannage est exécutée environ 150 fois dans le programme...donc assez long car les pages excel sont bien fournies).  
Donc si je change la dimension de mon tableau en le faisant commencant à 1, alors je dois changer tout mes tableaux aussi, tt les conditions et ca sera une uzine à gaz.

n°1488420
Elmoricq
Modérateur
Posté le 08-12-2006 à 10:29:42  profilanswer
 

FlorentG a écrit :

Mouais... :D :D Y'a plus grave comme problème je crois


 
Y a plus grave, mais si ça rend plus maintenable ça mérite que l'on s'y intéresse je pense.
C'est un peu comme si l'on disait (ce que j'entends régulièrement) : "oui ma fonction fait 800 lignes, mais elle marche donc c'est pas grave"...

n°1488435
lhonolulu
Posté le 08-12-2006 à 10:49:33  profilanswer
 

ok merci pour vos conseils. Ma question n'est pas qu'elle est la meilleure solution pour maintenir mon programme (car pour ca il faut connaitre l'ensemble du projet) mais ma question reste toujours la même comment, pour mon programme ou pour un autre, indexé un tableau à 0 (comme dans tout les languages...) quand on lui indique une plage de cellules.


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

  Tableau à commencer à l'indice 0

 

Sujets relatifs
Etat sous forme de TableauTrier un tableau ...
classement par points dans un tableau[Résolu] Vérification en javascript d'un tableau dynamique en PHP
Tableau de record et de type énuméComment trier un tableau ?
Affichage bordure tableau IEinsérer des octets en debut de tableau
Tableau dynamique de caractères[Résolu]Affichage d'un tableau
Plus de sujets relatifs à : Tableau à commencer à l'indice 0


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