EXCEL report de macro
Judie63
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai créé une macro pour trier un tableau par le biais du bouton macro tout est ok. Mais je voudrais utiliser cette macro dans un autre tableau identique qui se trouve sur la même feuille pour faire le tri , est ce possible sans créer une nouvelle macro ? Je connais rien en Visual basique
Merci par avance pour vos réponses
Voici la macro
Sub TRICLAS()
'
' TRICLAS Macro
'
'
Range("B9:L15").Select
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"C10:C15"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"J10:J15"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"L10:L15"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"B10:B15"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("class poule 1").Sort
.SetRange Range("B9:L15")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
j'ai créé une macro pour trier un tableau par le biais du bouton macro tout est ok. Mais je voudrais utiliser cette macro dans un autre tableau identique qui se trouve sur la même feuille pour faire le tri , est ce possible sans créer une nouvelle macro ? Je connais rien en Visual basique
Merci par avance pour vos réponses
Voici la macro
Sub TRICLAS()
'
' TRICLAS Macro
'
'
Range("B9:L15").Select
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"C10:C15"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"J10:J15"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"L10:L15"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Range( _
"B10:B15"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("class poule 1").Sort
.SetRange Range("B9:L15")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
A voir également:
- EXCEL report de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
Un exemple
cdlt
Un exemple
Public Plage, Plage1, Plage2, Plage3, Plage4 Sub TRICLAS() Application.ScreenUpdating = False Set Plage = Range("B9:L15") Set Plage1 = Range("C10:C15") Set Plage2 = Range("J10:J15") Set Plage3 = Range("L10:L15") Set Plage4 = Range("B10:B15") AppliquerTri 'Continuez avec vos autres plages à trier Set Plage = Range("B19:L25") Set Plage1 = Range("C20:C25") Set Plage2 = Range("J20:J25") Set Plage3 = Range("L20:L25") Set Plage4 = Range("B20:B25") AppliquerTri End Sub Sub AppliquerTri() Plage.Select ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Plage1, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Plage2, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Plage3, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("class poule 1").Sort.SortFields.Add Key:=Plage4, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("class poule 1").Sort .SetRange Plage .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
cdlt
Il y a 2 macros.
La première "TRICLAS", ou l'on charge toutes les plages de chaque tableau à traiter.
paramètres du 1er tableau:
Set Plage = Range("B9:L15") 'tableau dans son entièreté
Set Plage1 = Range("C10:C15") 1er critère de tri
Set Plage2 = Range("J10:J15") 2ème critère de tri
Set Plage3 = Range("L10:L15") 3ème critère de tri
Set Plage4 = Range("B10:B15") 4ème critère de tri
Une fois les paramètres chargés, la macro "AppliquerTri" est lancée dans la foulée.
Quand le tri du 1er tableau est terminé on charge les paramètres du 2ème tableau
Set Plage = Range("B9:L15") 'mettez ici pour chaque ligne, les plages du 2ème tableau
Set Plage1 = Range("C10:C15") 1er critère de tri
Set Plage2 = Range("J10:J15") 2ème critère de tri
Set Plage3 = Range("L10:L15") 3ème critère de tri
Set Plage4 = Range("B10:B15") 4ème critère de tri
puis la macro "AppliquerTri" est lancée à nouveau.
l'opération se répètera autant de fois que vous aurez rentré de tableaux
La première "TRICLAS", ou l'on charge toutes les plages de chaque tableau à traiter.
paramètres du 1er tableau:
Set Plage = Range("B9:L15") 'tableau dans son entièreté
Set Plage1 = Range("C10:C15") 1er critère de tri
Set Plage2 = Range("J10:J15") 2ème critère de tri
Set Plage3 = Range("L10:L15") 3ème critère de tri
Set Plage4 = Range("B10:B15") 4ème critère de tri
Une fois les paramètres chargés, la macro "AppliquerTri" est lancée dans la foulée.
Quand le tri du 1er tableau est terminé on charge les paramètres du 2ème tableau
Set Plage = Range("B9:L15") 'mettez ici pour chaque ligne, les plages du 2ème tableau
Set Plage1 = Range("C10:C15") 1er critère de tri
Set Plage2 = Range("J10:J15") 2ème critère de tri
Set Plage3 = Range("L10:L15") 3ème critère de tri
Set Plage4 = Range("B10:B15") 4ème critère de tri
puis la macro "AppliquerTri" est lancée à nouveau.
l'opération se répètera autant de fois que vous aurez rentré de tableaux
désolé pour moi c'est du chinois. Si je comprends je suis dans l'obligation de mettre toutes les plages de tri car j'ai 5 petits tableaux à trier.
Cet énoncé je dois le mettre où? en passant par macro ?