Tri lignes
Résolu
Momosenpai
Messages postés
24
Statut
Membre
-
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant en VBA excel et j'ai essayé de créer une macro qui me permet de :
A- Si la ligne N est orange alors on prends la 13ème et la 14ème cellule de la ligne N en partant de la gauche et les copie colle sur la 13ème et 14ème cellule de la ligne N+1
B- Si la ligne N est orange alors on prends la 8ème, 9ème , 10ème, 11ème, 12ème cellule de la ligne N en partant de la gauche et on la copie colle sur la 20ème, 21ème, 22ème, 23ème et 24ème cellule en partant de la gauche de la ligne N+1
Voici ma tentative:
le résultat obtenu avec ce code est qu'il copie colle les cellules (13 et 14) sur toutes les lignes en dessous alors que je n'ai besoin que de du N+1 de chaque ligne orangée.
Pourriez vous m'éclairer un petit peu plus ?
merci d'avance
Voici ci joint le fichier (en feuil 1 l'explication):
https://www.cjoint.com/?0GylkjkyQb7
Je suis débutant en VBA excel et j'ai essayé de créer une macro qui me permet de :
A- Si la ligne N est orange alors on prends la 13ème et la 14ème cellule de la ligne N en partant de la gauche et les copie colle sur la 13ème et 14ème cellule de la ligne N+1
B- Si la ligne N est orange alors on prends la 8ème, 9ème , 10ème, 11ème, 12ème cellule de la ligne N en partant de la gauche et on la copie colle sur la 20ème, 21ème, 22ème, 23ème et 24ème cellule en partant de la gauche de la ligne N+1
Voici ma tentative:
Sub test()
Sheets("Feuil2").Activate
Dligne = Range("C" & Rows.Count).End(xlUp).Row
For i = 1 To Dligne
If Rows(i).Interior.Color = vborange Then
Range(Cells(i, 13), Cells(i, 14)).Copy
Range(Cells((i + 1), 13), Cells((i + 1), 14)).PasteSpecial
Range(Cells(i, 8), Cells(i, 12)).Copy
Range(Cells((i + 1), 20), Cells((i + 1), 24)).PasteSpecial
End If
Next i
End Sub
le résultat obtenu avec ce code est qu'il copie colle les cellules (13 et 14) sur toutes les lignes en dessous alors que je n'ai besoin que de du N+1 de chaque ligne orangée.
Pourriez vous m'éclairer un petit peu plus ?
merci d'avance
Voici ci joint le fichier (en feuil 1 l'explication):
https://www.cjoint.com/?0GylkjkyQb7
1 réponse
-
Pas vraiment la solution à votre problème mais juste un détails qui change beaucoup de choses.
Sub test() Sheets("Feuil2").Activate Dim Dligne as Integer Dligne = Range("C" & Rows.Count).End(xlUp).Row For i = 1 To Dligne If Rows(i).Interior.Color = vborange Then Range(Cells((i + 1), 13), Cells((i + 1), 14)) = Range(Cells(i, 13), Cells(i, 14)) Range(Cells((i + 1), 20), Cells((i + 1), 24)) = Range(Cells(i, 8), Cells(i, 12)) End If Next i End Sub
Mais essayer voir si ça change votre problème