Tri lignes
Résolu
Momosenpai
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
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.
Mais essayer voir si ça change votre problème
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
Si vous avez besoin de conseil pour votre apprentissage en VBA n'hésitez pas à venir nous poser des questions :)