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

  1. 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
    1. 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
    2. 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