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
A voir également:
- Tri lignes
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
- Peut on récupérer un colis au centre de tri chronopost - Forum Mobile
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 :)