Bonjour tout le monde,

Je sui assez nouveau en VBA. J'ai une feuille [/contents/1103-tableur-comment-l-utiliser excel] avec dans la colonne A des dates et en colonne B un score qui correspond a chaque date. Je récupère d'une autre feuille la date et son score sur deux variables respectivement, Date_Formated et score.
Je vous envoie le bout de code correspondant a cette tache. Les date commencent a la ligne 2. Je veux donc que excel compare ma date avec les dates deja présentes une a une ( des jours peuvent être manquant, il n'y a pas un nouveau score tous les jours) et des que ma nouvelle date est supérieur ou egale a une des date deja présente il insère un ligne en dessous et inséré la nouvelle date avec le niveau score sur la ligne qu'il vient de créer. Le problème est qu'avec mon code la nouvelle date va toujours a la fin.

Merci d'avance pour votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
For y = 2 To ligne
 
            test_date = .Cells(y, 1).Value
 
 
                If Date_Formated >= test_date Then
 
                .Range("A" & y + 1).EntireRow.Insert
 
                .Range("A" & y + 1).Value = Date_Formated
 
                .Range("B" & y + 1).Value = Score
 
                .Range("E" & y + 1).Value = subject
 
                ligne_trouvee = True
                MsgBox "2"
 
                End If
 
                If ligne_trouvee = True Then Exit For
 
            Next