Tableaux dynamiques

Bonjour

Malgré de nombreuses lectures sur internet je n'ai toujours pas compris...

Voilà ce que je veux faire :

1- créer un tableau dynamique de byte appelé Tableau

2- dans un second temps, lui dire que je veux qu'il accepte 17 valeurs possibles (de 1 à 17) pour la première dimension et 30 valeurs possibles (de 1 à 30) pour la seconde.

3- dans un troisième temps, lui dire que je veux dorénavant qu'il accepte 13 valeurs possibles (de 1 à 13) pour la première dimension.

Un grand merci par avance

Bonjour,

Pour les premiers et deuxième points cela donnera:

Sub test()
Dim Tableau() As Byte 'premier point
ReDim Tableau(1 To 17, 1 To 30) 'deuxième point
ReDim Tableau(1 To 13, 1 To 30)
End Sub

Le troisième point est impossible si tu comptes garder tes valeurs en s'y prenant comme ça.

Sur microsoft c'est expliqué d'ailleurs: https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/redim-statement

Avec Preserve tu ne peux modifier que la dernière dimension, ce qui veut dire que tu dois inverser les lignes et les colonnes, puis transposer le résultat à la fin.

Bonjour

Merci mais j'avais complètement oublié de dire que mon tableau doit être Public et qu'il est déclaré (étape 1) en dehors d'une Sub...

Ensuite les étapes 2 et 3 se font au sein de différentes Sub...

J'espère être compréhensible.

Merci

Bonjour

Pour l'étape 3, je devrais pouvoir créer un autre tableau de taille identique, y stocker le premier tableau, puis redimensionner le premier, y recopier le second et détruire le second...

Qu'en pensez-vous ?

Merci

Bonjour,

Quelque chose comme ça alors?

Public Tableau() As Byte

Sub test()
ReDim Tableau(1 To 17, 1 To 30)
ploup
End Sub

Sub ploup()
ReDim Tableau(1 To 13, 1 To 30)
End Sub

Merci Ausecour !

Je testerai dès que j'aurai de nouveau accès à mon ordinateur...

Je suppose qu'on peut remplacer 30, 17... par des variables.

Je vous tiendrai au courant.

Bon dimanche

Rechercher des sujets similaires à "tableaux dynamiques"