Simply use Part and Set:
f[A_?SquareMatrixQ, i_Integer, j_Integer] := Module[{p, q, Bidx}, qidx = Range @@ Sort[{iRange[i, j}]; p = RotateLeft[q, Sign[j - i]]; Bp = A; B[[q]] =Range[1, B[[p]];Length[A]]; B[[All, q]]p[[idx]] = B[[All, p]];RotateLeft[idx]; A[[p, Bp]] ] A = Outer[Plus, Range[5], Range[0, 4]]; A // MatrixForm $\left( \begin{array}{ccccc} 1 & 2 & 3 & 4 & 5 \\ 2 & 3 & 4 & 5 & 6 \\ 3 & 4 & 5 & 6 & 7 \\ 4 & 5 & 6 & 7 & 8 \\ 5 & 6 & 7 & 8 & 9 \\ \end{array} \right)$
B = f[A,2,4]; B // MatrixForm $\left( \begin{array}{ccccc} 1 & 3 & 4 & 2 & 5 \\ 3 & 5 & 6 & 4 & 7 \\ 4 & 6 & 7 & 5 & 8 \\ 2 & 4 & 5 & 3 & 6 \\ 5 & 7 & 8 & 6 & 9 \\ \end{array} \right)$