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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Tableaux de dimension variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableaux de dimension variable

n°2147763
anisbens45
Posté le 02-07-2012 à 12:41:28  profilanswer
 

Bonjour a tous,
 
J'essaye de creer un petit code pour ressortir une matrices avec certains elements d'un tableau excel. Voici le code :  
 

Citation :

Sub Matrices()
Sheets("Sheet3" ).Activate
a = Range("A65536" ).End(xlUp).Row
 
Dim Inv(a - 3, 3)
For j = 0 To a - 4
Inv(j, 0) = Cells(0, j + 3)
Next j
 
End Sub


 
Quand je veux executer le code, il me dit a l'endroit Dim Inv(a - 3, 3) "constant expression required".
 
Que faire ? Comment creer un tableau bidimensionnel de taille variable ? L'expression " = Cells(0,j+3) " est-elle correcte ?
 
 
Merci d'avance!

mood
Publicité
Posté le 02-07-2012 à 12:41:28  profilanswer
 

n°2147764
vave
Nice to meet me
Posté le 02-07-2012 à 12:50:33  profilanswer
 

J'ai pas excel sous la main mais essaies de changer le nom de ta variable. À mon avis, Inv doit être une fonction vba.


Message édité par vave le 02-07-2012 à 13:57:02

---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
n°2147773
vave
Nice to meet me
Posté le 02-07-2012 à 13:56:46  profilanswer
 

Ca y'est, j'ai excel.
Donc, ça n'a rien à voir avec ce que j'ai posté au dessus.
 
En fait, tu ne peux pas déclarer une variable avec une autre variable en paramètre (Dim Inv(a - 3, 3) ).
 
En solution, tu peux faire un Redim :

Code :
  1. Sub Matrices()
  2. Dim Inv
  3. Sheets("Sheet3" ).Activate
  4. a = Range("A65536" ).End(xlUp).Row
  5. ReDim Inv(a - 3, 3)
  6. For j = 0 To a - 4
  7. Inv(j, 0) = Cells(0, j + 3)
  8. Next j
  9. End Sub


 
Encore plus simple si tu veux mettre une plage dans un tablo :

Code :
  1. sub tablo()
  2. dim tabl as Variant
  3. tabl = Range("A1:A30" ).Value
  4. Range("B2:B31" ) = tabl
  5. end sub


 


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
n°2147807
kiki29
Posté le 02-07-2012 à 18:05:05  profilanswer
 

Salut, ouiche il y a aussi Cells(0, j + 3)


Message édité par kiki29 le 02-07-2012 à 18:05:36

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2147823
anisbens45
Posté le 03-07-2012 à 04:35:03  profilanswer
 

Merci beaucoup !!  
Et effectivement kiki29, je me suis rendu compte que la numerotation des cellules Excel commencaient a 1 ;) C'est pas evident d'apprendre en autodidacte un nouveau langage quand meme ...

n°2147828
kiki29
Posté le 03-07-2012 à 09:10:58  profilanswer
 

Re, ne t'inquiéte pas on est tous passé par là , il n'y a rien d'inné mais de l'acquis, et la seule façon d'apprendre c'est de faire des erreurs.
Juste pour info, un tuto sur les tableaux : http://didier-gonard.developpez.co [...] bleau-vba/


Message édité par kiki29 le 03-07-2012 à 09:13:50

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html

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

  Tableaux de dimension variable

 

Sujets relatifs
Problème d'imbrication de références et de tableaux de références[Résolu] Passer une variable dans un include
[vbs] nom de variable dynamiqueChemin de fichier en variable
Appel fonction Javascript dans variable PHPTCD à plage variable
Page de taille variable pour un portfolio wordpressAfficher variable dans textarea
[Résolu] [KSH] Executer plusieurs commandes dans une variabletableaux à dimension variable imbriqués :/
Plus de sujets relatifs à : Tableaux de dimension variable


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