Désolé pour la longueur mais ....

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
25
26
27
For compteur = 1 To Nb_lignes
        Set CellSerie = ActiveCell.Offset(0, -7)
        Set CellPrev = ActiveCell.Offset(0, -6)
        Set CellRecl = ActiveCell.Offset(0, -3)
        If IsNumeric(CellRecl) Then
            If IsNumeric(CellPrev) And CellPrev > 0 Then
                If CellRecl > CellPrev Then
                    ActiveCell = WorksheetFunction.Min(CellSerie, CellPrev)
                    Indic_lignes = Indic_lignes + 1
                Else
                    ActiveCell = CellSerie * CellRecl / CellPrev
                    Indic_VI = Indic_VI + 1
                    If Not Int(ActiveCell) = ActiveCell Then
                        ActiveCell = Int(ActiveCell) + 1
                    End If
                End If
            Else
                ActiveCell = WorksheetFunction.Min(CellSerie, CellRecl)
                Indic_lignes = Indic_lignes + 1
            End If
         Else
            ActiveCell = 0
            Indic_error = Indic_error + 1
            MsgBox Indic_error
        End If        
        ActiveCell.Offset(1, 0).Select
    Next compteur
Mon problème se situe au niveau des lignes en gras (la MsgBox n'est là que pour tenter de comprendre). En gros après avoir lancé cette procédure, indic_error vaut 0 alors qu'il ne devrait pas. J'ai donc rajouté cette MsgBox qui m'indique les valeurs. Il se passe alors les évnts suivants :

MsgBox = 1 -> je clique sur OK ->
MsgBox = 2 -> je clique sur OK ->
.... ->
MsgBox = 5 -> je clique sur OK ->
MsgBox = 1 au lieu de 6-> Msgbox = 2 sans avoir cliqué sur OK

Et ainsi de suite ... Desfois le reset se produit à 10 et non à 5. Et à la fin reset à 0.

Aucune idée de là où est le problème ...