Insertion d'une ligne selon à partir d'une variable
Bonjour tout le monde,
J'ai mes lignes sur une feuille qui sont séparées en deux grandes catégories, les deux étant séparées par une ligne intitulée "Fin de prestation".
Je souhaite lorsque certaines conditions sont remplies, déplacer une ligne de la première à la deuxième catégorie.
Donc mon problème c'est que pour le moment je fait:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
'Je cherche la ligne séparatrice de mes deux catégories
For I = 1 To 60
If Cells(I, 3).Value = "Fin de prestation" Then
Insertion = I
End If
Next
'Je parcours ma première catégorie
For intCpt = 6 To IntNbRow
'Si condition remplie
If Range("J" & intCpt).Value < Cells(1, 1).Value And Cells(intCpt, 2).Value <> 0 Then
'On met en gris
With Range("A" & intCpt & ":SH" & intCpt).Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
'On insert une ligne en début de deuxième catégorie
'La partie de code qui me pose problème
End With
End If
Next |
Je vous épargne les déclarations de variables.
Deux points bloquant:
-Pour le moment mon idée c'est d'insérer en dessous de ma ligne séparatrice mais si je fais:
Code:
Rows("Insertion:Insertion").Insert Shift:=xlDown
Ben évidemment il ne comprend pas parce que Insertion c'est pas renvoyé à sa valeur. J'ai essayé plein de syntaxes mais impossible de trouver!
-Pour copier coller la seule méthode que j'ai trouvé c'est de sélectionner la ligne et de la copier, sélectionner la nouvelle ligne, coller, supprimer la ligne d'origine. Mais j'ai beaucoup lu sur le forum qu'il fallait éviter de passer par Activate et Select donc je suis preneur si vous avez une alternative.
Voilà! J'ai parcouru plein de sujets différents mais j'ai l'impression que rows().insert shift:)xlDown c'est vraiment ce qu'il y a de mieux pour ma situation donc j'aimerais bien faire fonctionner l'instruction!
Merci d'avance