Tableau variable à 2 dimensions
Bonjour
Je viens vers vous aujourd'hui pour vous demander de l'aide pour la création d'une matrice à deux dimensions. Cela fait un bon moment que je cherche comment faire donc me voila sur ce forum, vous êtes mes jokers
Contexte:
-le contenu de ma feuille est créer à partir de la macro suivante (je vous ai joint le fichier):
Sub boucle_while()
Dim numero_jour, numero_heure As Integer
numero_jour = 1 'Numéro de départ (correspond ici au n° de ligne et au n° de numérotation)
nbr_jour = Range("A1").Value 'cette est variable c'est pour cela que je la déclare
numero_heure = 0
'colonne jour
While numero_jour <= nbr_jour 'Tant que la variable numero est <= nombre de jour du mois , la boucle est répétée
Cells(numero_jour + 1, 3) = numero_jour 'Numérotation
numero_jour = numero_jour + 1 'Le numéro est augmenté de 1 à chaque boucle
Wend
'idem mais pour la ligne heure
While numero_heure <= 23 'il y a toujours 24 cellules/heure DONC c'est fixe
Cells(1, numero_heure + 4) = numero_heure
numero_heure = numero_heure + 1
Wend
End Sub
-à partir de cette macro j'ai donc les entêtes de la matrice que je veux créer
Mon problème est le suivant:
-Je n'arrive pas à trouver un moyen de créer une matrice débutant à la cellule D2 et se finissant à la dernière cellule de la colonne AA en fonction de la dernière ligne de la colonne C (le nombre de jour varie selon le mois, qui est toujours inscrit dans la cellule A1).
Dans cette sélection (A2: AA?), je voudrais incrémenter une série de nombre de 0 à ? (la fin de ma matrice) en pas de 4 (4 est inscrit dans la cellule A2, et varie aussi, donc je voudrais déclarer cette cellule dans la macro).
Je m'explique, si le saut vaut 4 comme dans ma feuille feuill1, alors, D2 vaudra 0, E2 = 4, F=8 ... jusqu'à la dernière cellule AA2,.
PUIS que ce système revienne à la ligne, donc la cellule D3 vaudra (AA2+4) et ainsi de suite jusqu'à la fin de la matrice (qui je le rappelle est variable selon le nombre de jour).
Voila .... j'espère m'être bien exprimé (je suis novice)
En espérant avoir une réponse de votre part,
Bonne journée
Bonjour,
quelque chose comme ça ?:
Sub Incremente()
Dim i As Integer, j As Integer, Num As Integer
With Worksheets("Feuil1") ' à adapter
For i = 2 To .Range("C" & Rows.Count).End(xlUp).Row 'pour les lignes 2 à dernière ligne de colonne C
For j = 4 To 27 'pour chaque colonne de D à AA
.Cells(i, j) = Num
Num = Num + 4
Next
Next
End With
End Sub
Un code indenté et mis entre balise code est quand même plus lisible qu'une succession de lignes rouges !
A+
Bonsoir
Déjà merci bcp pour ta réponse et ton temps !
Je vais tester ce que tu as fait et je reviendrais vers toi après
Et oui effectivement, la prochaine fois j’utiliserais une balise pour le code,
sorry j'ai pas encore l'habitude des forums
Bonne soirée !
edit: MERCI bcp encore une fois, ton code marche parfaitement !