Boucle imbriquée numérotée

Bonjour

Novice sur VBA, je me permets de solliciter votre aide afin d'effectuer une boucle de numérotation de ligne au pas horaire. Pour cela, je numérote mes lignes de manière classique de 1 à 24 et désire ensuite dire à la macro de recommencer l'opération une fois le nombre 24 atteint, c'est à dire repartir de 1 et ceci jusqu'à la fin de mon tableur. Afin de faire référence à la fin du tableau excel je prends en considération la dernière ligne de ma colonne A.

J'ai dores et déjà écrit la macro permettant de réaliser la numérotation de 1 à 24 sans toutefois trouver la solution pour recommencer la numérotation en ligne 25. Je sais qu'il s'agit d'utiliser une boucle imbriquée, mais malgré mes nombreux efforts je n'arrive pas à la rédiger correctement.

Si l'un d'entre vous peut m'aider à me sortir de ce pétrin....

Voici le code que j'utilise pour ma numérotation de 1 à 24, il me reste maintenant à pouvoir effectuer le code autant de fois qu'il y a de jours dans mon excel

Merci par avance

Sub macro()  

Dim numero As Integer  

numero = 1  

 While numero <= 24  

 Cells(numero, 9) = numero  

 numero = numero + 1  

 Wend  

End Sub

Bonjour avec le test de la dernière cellule utilisée en colonne A

Sub Macro1()
'
' Macro1 Macro
'
Dim derligne As Long
Dim numero As Long
derligne = Range("A65536").End(xlUp).Row + 1  ' Récupération variable numéro dernière ligne cellule saisie en colonne A
numero = 1

For i = 2 To derligne           ' test avec i jusqu'à la dernière ligne trouvée précédemment
If Cells(i, 9).Value = "" Then   ' condition si cellule trouvée vide
If Cells(i - 1, 9).Value < 24 Then   ' Condition si cellule précédente est inférieur à 24

Cells(i, 9).Value = Cells(i - 1, 9) + 1  ' premier résultat alors valeur = cellule précédente + 1
Else
Cells(i, 9).Value = numero  ' Sinon si cellule précédente =24 alors valeur = numéro ( = 1 )
End If
End If

Next   ' on continue le test sur les cellules suivantes jusqu'à ce que i = derligne

'
End Sub

Bonjour Xmenpl,

Merci beaucoup pour votre aide, qui m'a évité une nouvelle journée de prise de tête !!! C'est parfait comme ca !!!

Salut Sclamalette,
Salut Xmenpl,

autre vision de cette boucle...

'
Dim tTab(), iRow%
tTab = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
'
Application.ScreenUpdating = False
iRow = Range("A" & Rows.Count).End(xlUp).Row
'
For x = 1 To iRow Step 24
    Range("I" & x).Resize(IIf(x + 23 <= iRow, 24, (iRow + 1) - x), 1) = WorksheetFunction.Transpose(tTab)
Next
'
Application.ScreenUpdating = True
'


A+

Salut Sclamalette,
Salut Xmenpl,

autre vision de cette boucle...

A+

Bonjour Curulis … pas mal et plus court ; mais j'ai pas encore le niveau pour penser de cette manière lol

Rechercher des sujets similaires à "boucle imbriquee numerotee"