Option Explicit
Sub OK()
Dim indexn2, indexn1, Sourc, Dest, Var1 As Integer
Sheets("arb").Select
indexn1 = Range("IS1")
indexn2 = Range("IS2")
Sourc = 4 * indexn1 - 1 'Colonne source
Dest = "IV1" 'Cellule destination
MsgBox Sourc
MsgBox Dest
Var1 = Application.Match(Range("IS4"), Columns(Sourc), 0) 'Cherche la valeur saisie en G2 dasn la colonne "Sourc"
'------------------
Range(Dest).CurrentRegion.Offset(1, 0).Clear 'Efface la destination (sauf la ligne d'entete)
If Not IsError(Var1) Then 'Si Var1 n'est pas une erreur (si on a bien trouvé le critere dans la colonne Sourc) alors ...
Range(Cells(Var1 + 1, Sourc + 1), Cells(Var1 + 1, Sourc + 1).End(xlDown)).Copy Range(Dest).End(xlUp).Offset(1, 0)
'Cells(Var1 + 1, Sourc + 1) => donne la cellule en dessous et à droite de la cellule trouvée
'Cells(Var1 + 1, Sourc + 1 => est équivalent à CTRL + MAJ + Fleche vers le bas sur la cellule qu'on a trouvé
'Range(Cells(Var1 + 1, Sourc + 1), Cells(Var1 + 1, Sourc + 1).End(xlDown)) => définit la zone de données souhaitée
'Copy Range(Dest).End(xlUp).Offset(1, 0) => on copie avec comme destination la derniere cellule non vide de la colonne Dest
End If
End Sub