Comment créer plusieurs variables dans une boucle FOR

flolacou

XLDnaute Nouveau
Bonjour à tous, je demande encore votre aide.

Je voudrais créer un nombre indéfini de tableaux avec une boucle for.
Voici un exemple:

For i = 1 To 10
Dim Variable & i & () as String
Next

Donc j'aurai 10 tableaux du type:
Variable1()
Variable2()
.
.
Variable10()

Merci à ce qui pourront m'éclairer sur ce problème
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Comment créer plusieurs variables dans une boucle FOR

Bonjour Flolalou

pas sur d'avoir bien compris le sens de ta demande, peut être ainsi, pour créer un tableau virtuel de 10 éléments :

Code:
Dim mavariable(9) As String

bonne journée
@+
 

wilfried_42

XLDnaute Barbatruc
Re : Comment créer plusieurs variables dans une boucle FOR

bonjour flolacou, pierrot :)

je n'ai pas compris la même chose ... X tableaux de y postes chacun
le seul problème est que y sera toujours de même taille pour chacun des tableaux
Code:
Sub tablo_variables()
    Dim tablo() As String
    a = Val(InputBox("Nombre de tableaux"))
    ReDim tablo(1 To a, [COLOR="Red"]0 To 5[/COLOR])
    For i = 1 To a
        For j = 1 To 5
            tablo(i, j) = i * j
        Next j
    Next i
End Sub
je te suggère donc de voir assez grand la partie en rouge et d'utiliser l'index 0 pour le nombre de valeur

sinon tu as une autre solution : définir toi meme ton tableau es en faire un type de variable :
Code:
Type MaVar
       nom as string
       prenom as string
       ca(1 to 12) as double
end type
sub mamacro()
      dim matable() as MaVar
      a = val(inputbox("Nombre de poste"))
      redim matable(1 to a)
      for i = 1 to a
           for j = 1 to 12
                matable(i).ca(j) = i*j
           next j
      next i
end sub
 

flolacou

XLDnaute Nouveau
Re : Comment créer plusieurs variables dans une boucle FOR

Merci pour vos réponse mais ce n'est pas tout à fait cela que je veux.
Je me suis peut-être mal exprimé.

Je reformule ma question:
En fait, le point dur est que je veux créer n tableaux avec des noms différents, mais la taille est redimensionné après (pour l'instant je laisse libre les possibilité de la taille des tableaux car ils ne sont pas tous pareil)

For i=1 to n
Dim Variable & i & () as String 'i est la variable dans la boucle For et () est la taille du tableau que je laisse libre pr l'instant
Next i

Après cette boucle je voudrai avoir n tableaux de types:
Variable1()
Variabble2()
.
.
Variablen()

Le problème est que je ne sais pas comment déclarer un tableau où il y a une variable dans son nom (en l'occurence i ici qui change à chaque tour de boucle).
En rouge la partie où je ne sais pas comment faire.

J'espère avoir été plus clair.
 

flolacou

XLDnaute Nouveau
Re : Comment créer plusieurs variables dans une boucle FOR

En gros si cela peut aider à comprendre ma demande, comment intégrer la valeur d'une variable dans le nom d'un tableau:
Variable var = 1
Nom tableau = "Tab" & var = "Tab1"
et non intégrer le nom de la variable dans le nom du tableau:
Variable var = 1
Nom tableau = "Tab" & var /= "Tabvar"

C'est comment écrire cette requête que je ne sais pas faire.
En espérant que cela vous aide à comprendre mon problème
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : Comment créer plusieurs variables dans une boucle FOR

re:

je reprends donc mon 2eme exemple car tu ne peux créer de varriable de cette manière
Code:
Type Mavar
       montabo() as variant
end type
Sub mamacro()
      dim mestables() as mavar
      n = 11
      redim metables(1 to n)
end sub
ensuite tu peux à partir de ce moment redefinir comme tu veux
Code:
Type Mavar
       montabo() as variant
end type
Sub mamacro()
      dim mestables() as mavar
      n = 11
      redim mestables(1 to n)
      n = n + 1
      redim preserve mestable(n)
' ou encore : 
     for i = 1 to 10
          redim preserve mestables(1).montablo(i)
     next i
end sub
comme ceci tu as tout qui est "redimentionable"
 

flolacou

XLDnaute Nouveau
Re : Comment créer plusieurs variables dans une boucle FOR

Ça y est j'ai compris ce que tu veux me dire Wilfried, comment je n'avais pas pu y penser avant.

Je m'entêtais à vouloir faire plusieurs tableaux à une dimension avec des noms différents, alors qu'il suffit de faire un tableau à plusieurs dimensions où je n'ai pas besoin de m'embêter avec les noms de tableaux.

Merci d'avoir insisté sur le sujet Wilfried, maintenant je vais pouvoir avancer dans mon projet.

@+ et encore merci
 

maximaxibon

XLDnaute Nouveau
Re : Comment créer plusieurs variables dans une boucle FOR

Bonjour,

J'ai essayé de suivre un peu votre discution mais je comprend pas tout lol !!
Moi j'ai une simple question donc je donne un exemple bidon.

sub test()
Dim A as long
Dim B as long
For A = 1 to 4
For B = 5 to 8
sheets(1).cells(A,1).value=sheets(1).cells(B,2).value
Next B
Next A
End sub

Le probleme c'est que je souhaiterai que la boucle fasse les deux a la fois .

Par exemple écrire un truc du genre a la fin Next A,B

par que la cela boucle B et apres A

Merci de vos réponses
 

Discussions similaires

Réponses
2
Affichages
300

Statistiques des forums

Discussions
312 482
Messages
2 088 766
Membres
103 955
dernier inscrit
mikaveli