Boucle date

Résolu
massimo888 Messages postés 209 Statut Membre -  
massimo888 Messages postés 209 Statut Membre -
Bonjour,

J'ai un petit soucis avec mon fichier excel.

J'aimerais faire défiler en vba les dates dans une même cellule dans l'ordre décroissant. De Décembre à Janvier et interrompre la boucle dès que la cellule voisine passe de "-" à une valeur.

Exemple:
A1 = "-" => A2 = Décembre-17
A1 = 56 => A2 = Mars-17

Mon code:

Sub test()

do while Cells(1,2)="-"

Cells(1,1)="12-01-17"
Cells(1,1)="11-01-17"
Cells(1,1)="10-01-17"
.
.
.
Cells(1,1)="01-01-17"

end sub


En vous remerciant.

1 réponse

Zoul67 Messages postés 2001 Statut Membre 149
 
Bonjour,

Sub essai()
    
    For k = 12 To 1 Step -1
        Cells(1, 1).Value = DateSerial(2017, 12, k)
        If Cells(1, 2).Value <> "-" Then Exit For
    Next k
    
End Sub


A+
0
Zoul67 Messages postés 2001 Statut Membre 149
 
Pardon, c'est plutôt ça :

Sub essai()

For k = 12 To 1 Step -1
Cells(1, 1).Value = DateSerial(2017, k, 1)
If Cells(1, 2).Value <> "-" Then Exit For
Next k

End Sub
0
massimo888 Messages postés 209 Statut Membre
 
Tout d'abord Merci beaucoup pour la solution, elle marche nickel!
Ensuite voici le code dans une boucle pour avoir les lignes que l'on veut:

Sub essai()
For i = 4 To 18

For k = 12 To 1 Step -1
Cells(i, 9).Value = DateSerial(2017, k, 1)
If Cells(i, 10).Value <> "-" Then Exit For
Next k
Next i
End Sub
0