Re : Un tableau "dynamique"
Merci d'avoir répondu JCGL
Alors, ce n'est pas tout à fait ce que je cherche.
Je garde les instructions pour le tri et la validation des données de côté pour plus tard.
Dans l'exemple que je montre, il y a 6 parcelles et 2 lots, mais le tableau doit pouvoir se construire peu importe le nombre de parcelles (1 à 16) et de lots(1 à 5).
Je pensais passer par une matrice dynamique, j'ai commencé à écrire ça :
Dim TableauDesRessources() As Variant
Sub Dimensionnement()
'le tableau qui va accueillir les sélections de l'utilisateur est dimensionné avec le nb de parcelles et le nb de lots
Dim NoLigneDerniereParcelle As Byte
Dim NoLigneDernierLot As Byte
Dim NbreLignesTableau As Byte
Dim NbParcelles As Byte
Dim Nblots As Byte
NoLigneDerniereParcelle = Range("C5").End(xlDown).Row
NoLigneDernierLot = Range("K5").End(xlDown).Row
NbParcelles = NoLigneDerniereParcelle - 4
Nblots = NoLigneDernierLot - 4
NbreLignesTableau = 7 + 2 * NbParcelles + Nblots
ReDim TableauDesRessources(NbreLignesTableau, 20)
'On passe les infos à la sub qui va remplir le tableau ainsi dimensionné
Call TrameDuTableauDesRessources(NbParcelles, Nblots)
End Sub
Sub TrameDuTableauDesRessources(NbParcelles, Nblots)
'AFFICHAGE DES INTITULES
'Les trois intitulés des 3 bandeaux gris viennent trouver leur place dans la matrice
TableauDesRessources(1, 1) = "Pâturage des Ressources"
TableauDesRessources(4 + NbParcelles, 1) = "Récolte des Ressources"
TableauDesRessources(7 + NbParcelles, 1) = "Complémentation"
'AFFICHAGE DES SAISONS
'un vecteur contenant les saisons est créé, il fait référence à la liste A20:A25 de la feuille Liste du classeur
Dim saison(7) As String
saison(1) = "Listes!A20"
saison(2) = "Listes!A21"
saison(3) = "Listes!A22"
saison(4) = "Listes!A23"
saison(5) = "Listes!A24"
saison(6) = "Listes!A25"
' on distribue les saisons sur les lignes qui correspondent
Dim i As Byte
Dim j As Byte
j = 1
i = 3
While i < 19
TableauDesRessources(1, i) = saison(j)
TableauDesRessources(4 + NbParcelles, i) = saison(j)
TableauDesRessources(7 + 2 * NbParcelles, i) = saison(j)
i = i + 3
j = j + 1
Wend
End Sub
A ce stade là, j'arrive même pas à faire afficher la matrice construite...
Dites moi si je me plante complètement !
Merci
Diyann