Ajout lignes en cours d'execution macro

Bonjour

Je suis en train de réaliser un classeur avec 2 onglets notés Feuille_entree et Feuil1.

En Feuille_entree : tableau temps / volume en colonnes A et B.

L'utilisateur saisit lui-même ces données.

En Feuil1 : les résultats, ie ce qui se passe entre 2 lignes du tableau temps / volume de la Feuille_entree en introduisant la comparaison des temps et des volumes aux lignes i et i+1

Voilà le code :

Sub Module1()
    Dim Dlig1 As Long, Dlig2 As Long, v0 As Double, v1 As Double, t0 As Double, t1 As Double
    Dim nb_intervalles As Long, dv As Double, dt As Double, i As Long, l As Long
    'pas de temps dt
    dt = (100 * Sheets("Feuil1").Range("AN3").Value) / 100
    Dlig1 = .Range("A" & Rows.Count).End(xlUp).Row
    With Sheets("Feuille_entree")
        Dlig2 = .Range("A" & Rows.Count).End(xlUp).Row
        For l = 3 To Dlig2 
            t0 = .Range("A" & l).Value
            t1 = .Range("A" & l + 1).Value
            'Calcul du nb d'intervalles entre 2 temps successifs (nb lignes nécessaires pour remplir le tableau en Feuil1)
            If dt <> 0 Then
              nb_intervalles = (t1 - t0) / dt
            Else
              nb_intervalles = 0
            End If
            v0 = .Range("B" & l).Value
            v1 = .Range("B" & l + 1).Value
            If nb_intervalles <> 0 Then _
              dv = (v1 - v0) / nb_intervalles
            For i = (Dlig1 + 1) To (nb_intervalles +Dlig1)
              'volL(l) = volL(l+1) : constant
              If v0 = v1 Then 
                Sheets("Feuil1").Range("B" & Dlig + i).Value = Sheets("Feuil1").Range("B" & Dlig + i - 1).Value
              'volL(l)> volL(l+1) : baisse
              If v0 > v1 Then 
                Sheets("Feuil1").Range("B" & Dlig1 + i).FormulaLocal = "=B" & (Dlig1 + i - 1) & "-" & dv
              'volL(l)< volL(l+1) : hausse
              If v0 < v1 Then 
                Sheets("Feuil1").Range("B" & Dlig1 + i).FormulaLocal = "=B" & (Dlig1 + i - 1) & "+" & dv
              End If
              'temps
              Sheets("Feuil1").Range("A" & Dlig1 + i).FormulaLocal = "=A" & (Dlig1 + i - 1) & "+" & dt
              'donnée 1
              Sheets("Feuil1").Range("B" & Dlig1 + i).FormulaLocal = "=SI(ET(G" & i & "<0,0001;F" & (i - 1) & ">0,09);1;0)"
              'donnée 2
              Sheets("Feuil1").Range("C" & Dlig1 + i).FormulaLocal = "=SI(OU(ET(G" & i & "=0;F" & (i - 1) & "<0);ET(G" & i & ">0;F" & (i - 1) & ">-0,2));1;0)"
              Dlig = Dlig + 1
            Next i
        Next l
    End With
End Sub

Mon problème est le suivant : il se peut, suivant les résultats des données 1 et 2 qui sont des booléens, que j'ai sur plusieurs lignes en Feuil1 le même temps et le même volume.

Seulement, le nb_intervalles calculé au début n'est plus bon et je voudrais le réajuster de cette manière : si on a le même temps et le même volume sur plusieurs lignes, on rajoute le nombre de lignes doublons à nb_intervalles.

feuille entree feuil1

Je ne vois pas comment je pourrais faire.

Merci de votre aide

Romhain

Rechercher des sujets similaires à "ajout lignes cours execution macro"