Autres VBA (Copier - coller & trie)

Moussa040810

XLDnaute Nouveau
Bonjour,

Pourriez vous m'aider avec ce cas s'il vous plait ?

Alors en fait, je voudrai, grâce à des codes VBA, copier la liste des 20 articles qui cumulent le plus de note (dans la colonne S de la feuille "Calcul note") afin de les coller dans la feuille "résultat" du même classeur.

J'ai essayé de le faire en plusieurs temps (copier toute la liste et la coller dans la destination voulu, trier ces derniers et supprimer toute la liste en dehors de la liste des 20 premiers articles). C'est un raisonnement assez laborieux, et j'aimerai savoir si vous avez d'autres pistes.

Cordiales salutation,
 

Pièces jointes

  • Classeur1.xlsx
    15.4 KB · Affichages: 3
Solution
Bonjour Moussa, et bienvenu sur XLD,
Un essai en PJ avec :
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    Cells.ClearContents
    With Sheets("Calcul note")
        DL = .[A65500].End(xlUp).Row
        Range("A1:R" & DL - 1) = .Range("A2:R" & DL).Value
    End With
    [A:R].Resize(DL - 1).Sort key1:=[R1], order1:=xlDescending, Header:=xlYes
    Rows("21:1000").Delete Shift:=xlUp
    Columns("A:R").EntireColumn.AutoFit
End Sub
La macro s'exécute automatiquement lorsqu'on sélectionne la feuille "Résultat"
Mais ça ressemble à votre méthode, elle est rapide et efficace.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Moussa, et bienvenu sur XLD,
Un essai en PJ avec :
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    Cells.ClearContents
    With Sheets("Calcul note")
        DL = .[A65500].End(xlUp).Row
        Range("A1:R" & DL - 1) = .Range("A2:R" & DL).Value
    End With
    [A:R].Resize(DL - 1).Sort key1:=[R1], order1:=xlDescending, Header:=xlYes
    Rows("21:1000").Delete Shift:=xlUp
    Columns("A:R").EntireColumn.AutoFit
End Sub
La macro s'exécute automatiquement lorsqu'on sélectionne la feuille "Résultat"
Mais ça ressemble à votre méthode, elle est rapide et efficace.
 

Pièces jointes

  • Classeur1 (9).xlsm
    23.5 KB · Affichages: 5

Moussa040810

XLDnaute Nouveau
Bonjour @sylvanu, merci beaucoup pour votre retour.

C'est exactement le raisonnement que je voulais matérialiser.

Une dernière requête s'il vous plait, auriez vous une ligne de code qui me permettrait de ne copier que les colonnes : A,B,C,D,F,G,J&R uniquement au lieu de A2:R ?

Cordiales salutations
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 138
Membres
112 669
dernier inscrit
Guigui2502