Signification de lignes VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Caladrius

XLDnaute Nouveau
Bonjour,

Stagiaire dans une entreprise, une de mes missions est de reprendre un tableau excel datant de l'année précédente afin de le mettre à jour.
Or, j'ai constaté qu'il dispose de macros, que je dois donc reproduire, ne pouvant les transposer telles quelles.
C'est pourquoi j'aimerais connaître leur fonctionnement, afin d'être apte à les reproduire.
Elles sont toutes basées, à plus ou moins grande échelle, sur ce modèle:

Fille Macro
'

'
ActiveWindow.SmallScroll Down:=-6
Range("B6:Q15").Select
ActiveWorkbook.Worksheets("FILLE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FILLE").Sort.SortFields.Add Key:=Range("M6:M15"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FILLE").Sort
.SetRange Range("B6:Q15")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Pourrait-on m'expliquer en quoi cela consiste ?

Cordialement.
 
Re : Signification de lignes VBA

Bonjour à tous

Bienvenue sur XLD, Calabrius
La macro ici est une macro qui fait un tri.
Pour la reproduire ou l'adapter tu peux utiliser l’enregistreur de macros
(Outils/Macros/Nouvelle Macro)
Ajout d’explications dans ton code
Code:
sub Calabrius
'sélection de la plage B16:Q15
    Range("B6:Q15").Select
'raz des critères de tri
    ActiveWorkbook.Worksheets("FILLE").Sort.SortFields  .Clear
'on applique un nouveau tri
    ActiveWorkbook.Worksheets("FILLE").Sort.SortFields  .Add Key:=Range("M6:M15"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("FILLE").Sort
        .SetRange Range("B6:Q15")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
end sud
 
Dernière édition:
Re : Signification de lignes VBA

Merci de ta réponse rapide Staple1600.

Ok, donc "ActiveWorkbook.Worksheets("FILLE").Sort.SortFields" est l'ordre de la commande de tri.

Mais je ne comprends pas la partie suivante:

With ActiveWorkbook.Worksheets("FILLE").Sort
.SetRange Range("B6:Q15")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Qu'est-ce qui est trié ? Que sont ces paramètres ?
 
Re : Signification de lignes VBA

Re

Si tu as l'aide VBA installée sur ton PC, tu peux aller y piocher de précieuses informations.
Pour ce faire: ALT+F11 puis F1
(ici extrait aide Excel 2003)
Sort, méthode
Voir aussiS'applique àExempleDétails

Cette méthode trie un rapport de tableau croisé dynamique, une plage ou une région active si la plage spécifiée contient seulement une cellule.

expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

expression Obligatoire. Expression qui renvoie un des objets répertoriés dans la liste S'applique à.

Key1 Argument de type Variant facultatif. Premier champ de tri, sous forme de texte (un champ de tableau croisé dynamique ou un nom de plage) ou d'objet Range ("Dept" ou Cells(1, 1), par exemple).

Order1 Argument de type XlSortOrder facultatif. Ordre de tri pour le champ ou la plage spécifiés dans l'argument Key1.
XlSortOrder peut être l'une de ces constantes XlSortOrder.
xlDescending. Trie l'argument Key1 en ordre décroissant.
xlAscending par défaut. Trie l'argument Key1 en ordre croissant.

Key2 Argument de type Variant facultatif. Second champ de tri, sous forme de texte (un champ de tableau croisé dynamique ou un nom de plage) ou d'objet Range. Si vous ne spécifiez pas cet argument, il n'y a pas de second champ de tri. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.

Type Argument de type Variant facultatif. Indique quels éléments doivent être triés. Utilisez cet argument uniquement lorsque vous triez des rapports de tableau croisé dynamique.
XlSortType peut être l'une de ces constantes XlSortType.
xlSortLabels. Trie le rapport de tableau croisé dynamique par étiquettes.
xlSortValues. Trie le rapport de tableau croisé dynamique par valeurs.

Order2 Argument de type XlSortOrder facultatif. Ordre de tri pour le champ ou la plage spécifiés dans l'argument Key2. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.
XlSortOrder peut être l'une de ces constantes XlSortOrder.
xlDescending. Trie l'argument Key2 en ordre décroissant.
xlAscending par défaut. Trie l'argument Key2 en ordre croissant.

Key3 Argument de type Variant facultatif. Troisième champ de tri, sous forme de texte (un nom de plage) ou d'objet Range. Si vous ne spécifiez pas cet argument, il n'y a pas de troisième champ de tri. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.

Order3 Argument de type XlSortOrder facultatif. Ordre de tri pour le champ ou la plage spécifiés dans l'argument Key3. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.
XlSortOrder peut être l'une de ces constantes XlSortOrder.
xlDescending. Trie l'argument Key3 en ordre décroissant.
xlAscending par défaut. Trie l'argument Key3 en ordre croissant.

Header Argument de type XlYesNoGuess facultatif. Indique si la première ligne contient des en-têtes. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.
XlYesNoGuess peut être l'une de ces constantes XlYesNoGuess.
xlGuess. Microsoft Excel détermine s'il existe un en-tête et, le cas échéant, son emplacement.
xlNo par défaut. (La plage entière doit être triée).
xlYes. (La plage entière ne doit pas être triée).

OrderCustom Argument de type Variant facultatif. Cet argument est un entier en base un référencé vers la liste des ordres de tri personnalisés. Si vous ne spécifiez pas l'argument OrderCustom , un tri normal est effectué.

MatchCase Argument de type Variant facultatif. Affectez-lui la valeur True pour effectuer un tri qui respecte la casse. Affectez-lui la valeur False pour effectuer un tri qui ne respecte pas la casse. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.

Orientation Argument de type XlSortOrientation facultatif. Orientation du tri.
XlSortOrientation peut être l'une de ces constantes XlSortOrientation.
xlSortRows par défaut. Trie par ligne.
xlSortColumns. Trie par colonne.

SortMethod Argument de type XlSortMethod facultatif. Type de tri. Certaines de ces constantes ne seront peut-être pas disponibles, en fonction de la langue sélectionnée ou installée (par exemple, le français).
XlSortMethod peut être l'une de ces constantes XlSortMethod.
xlStroke Tri basé sur la quantité de traits dans chaque caractère.
xlPinYin par défaut. Ordre de tri phonétique chinois des caractères.

DataOption1 Argument de type XlSortDataOption facultatif. Indique comment trier le texte dans la clé 1. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.
XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles séparément.

DataOption2 Argument de type XlSortDataOption facultatif. Indique comment trier le texte dans la clé 2. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.
XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles séparément.

DataOption3 Argument de type XlSortDataOption facultatif. Indique comment trier le texte dans la clé 3. Cet argument ne peut être utilisé lors du tri de rapports de tableau croisé dynamique.
XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles séparément..
Notes

Les paramètres des arguments Header, Order1, Order2, Order3, OrderCustom et Orientation sont enregistrés, pour la feuille de calcul particulière, chaque fois que vous utilisez cette méthode. Si vous ne spécifiez pas de valeurs pour ces arguments lorsque vous appelez de nouveau la méthode, les valeurs enregistrées sont utilisées. Définissez ces arguments de manière explicite chaque fois que vous utilisez la méthode Sort, si vous choisissez de ne pas utiliser les valeurs enregistrées.

Les chaînes de texte qui ne peuvent être converties en données numériques sont triées normalement.

Remarque Si aucun argument n'est défini avec la méthode Sort, Microsoft Excel trie la sélection en ordre croissant.
Exemples

Cet exemple montre comment trier la plage A1:C20 de la feuille Sheet1, en utilisant la cellule A1 comme première clé de tri et la cellule B1 comme deuxième clé de tri. Le tri est effectué en ordre croissant par ligne et il n'y a pas d'en-tête. Cet exemple suppose que la plage A1:C20 contient des données.

Sub SortRange1()
Worksheets("Sheet1").Range("A1:C20").Sort _
Key1:=Worksheets("Sheet1").Range("A1"), _
Key2:=Worksheets("Sheet1").Range("B1")
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
540
Réponses
17
Affichages
1 K
Réponses
11
Affichages
893
Réponses
1
Affichages
2 K
Réponses
1
Affichages
880
Retour