Bonjour à tous,
Je souhaite, sur une liste, masquer des lignes en "doublon" pour ne pas que les
calculs découlant de cette liste soient erronés.
Pour exprimer mon besoin j'ai écris l'algorithme et j'aurai besoin d'une "traduction"
en VBA pour certaines parties, et d'un peu voire beaucoup d'aide pour le reste, si possible.
J'ai récupéré ce premier code pour réaliser deux boucles imbriquées et me permettre de traiter toutes les données,
je ne sais pas si il est réellement adapté et si le début est utile ou non.
Le deuxième code est celui que j'ai commencé à écrire.
Sub Doublons()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Variant, Var As Variant
Dim adres As Variant
adres = Split("$D$5:$H$600", "$")
adres(0) = ""
adres(1) = "D"
adres(2) = "5"
adres(3) = "H"
adres(4) = "600"
Set FL1 = Worksheets("Feuil1")
'Détermine la dernière ligne renseignée de la feuille de calculs
DerLig = Split(FL1.UsedRange.Address, "$")(4)
'Détermine la dernière colonne renseignée de la feuille de calculs
DerCol = Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
For NoLig = 1 To DerLig
For NoCol = 1 To DerCol
Var = FL1.Cells(NoLig, NoCol)
Next
Next
End Sub
Ma liste est sur la Range("D5,H600") et j'ai pris n pour le numéro de ligne sélectionné.
Follow = passer à la condition suivante
J'ai mis Exit Sub pour passer à la ligne d'après sans agir, je ne sais pas si c'est bon
Dim Poste As String, Element As String, Date_début As Date, Date_fin As Date, n As Integer
If(1) Dn=Dn+1, Then Follow
Else, Exit Sub
If(2) En>=En+1, Then Follow
Else, Exit Sub
If(3) Gn<=Gn+1 AND Hn>=Hn+1, Then Follow
Else, Exit Sub
If (IF1,2,3)=TRUE, Then Hide entirerow(n+1)
Pour info, le En>=En+1 signifie que si nous avons TR611 + 612 sur la ligne n et TR611 ou TR612 sur la ligne n+1, la condition est validée.