re-bonjour,
j'ai adapté la procédure pour en faire une fonction avec un paramètre (le numéro de ligne pour lequel il faut retourner les autres lignes du même groupe)
Function lignes(nl)
dl1 = Cells(Rows.Count, "G").End(xlUp).Row
dl2 = Cells(Rows.Count, "H").End(xlUp).Row
If dl1 > dl2 Then dl = dl1 Else dl = dl2
i = 13
s = i & ""
Do
Do
i = i + 1
If s <> "" Then s = s & "," & i Else s = i & ""
Loop While Cells(i, "G") = "" And Cells(i, "H") = ""
t = Split(s, ",")
s = ":" & s & "."
For k = LBound(t) To UBound(t)
If Val(t(k)) = nl Then lignes = t(k) & Replace(Replace(Replace(Replace(s, t(k), ""), ",,", ","), ",.", "."), ":,", ":"): Exit Function
Next k
s = ""
Loop Until i >= dl
End Function
exemple d'appel de la fonction
Sub test()
MsgBox lignes(15) 'retourne les lignes du groupe auquel appartient la ligne 15
End Sub