Toujours pour le meme projet, j'aurai encore besoin de vos lumi=E8res.
Quand j'effectue un tri de donn=E9es j'utilise l'enregistreur de macro mais=
dans la situation pr=E9sente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir l'execut=
er de n'importe quelle feuille. Le tri se fait sur 3 niveaux.
Les feuilles se nomment POULE A, POULE B,..., POULE H.
La macro actuelle est:
' Copie des plages de r=E9sultats points/sets et matches
Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Cop=
y
Range("Q28").Select
Selection.PasteSpecial Paste:=3DxlPasteValues, Operation:=3DxlNone,=
SkipBlanks _
:=3DFalse, Transpose:=3DFalse
'-------------------------------------------------------------------------=
-----
' Tri des donn=E9es pour la recherche du rang
Range("P28:S35").Select
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=3DRange("=
Q28:Q35" _
), SortOn:=3DxlSortOnValues, Order:=3DxlDescending, DataOption:=3Dx=
lSortNormal
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=3DRange("=
R28:R35" _
), SortOn:=3DxlSortOnValues, Order:=3DxlDescending, DataOption:=3Dx=
lSortNormal
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=3DRange("=
S28:S35" _
), SortOn:=3DxlSortOnValues, Order:=3DxlDescending, DataOption:=3Dx=
lSortNormal
With ActiveWorkbook.Worksheets("POULE A").Sort
.SetRange Range("P28:S35")
.Header =3D xlGuess
.MatchCase =3D False
.Orientation =3D xlTopToBottom
.SortMethod =3D xlPinYin
.Apply
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille
Bonjour Ne pourrions-nous déménager les poules vers le Perso.xls? De cette manière, n'importe quel Goupil aurait accès ....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "JP" a écrit dans le message de groupe de discussion :
Bonjour,
Toujours pour le meme projet, j'aurai encore besoin de vos lumières. Quand j'effectue un tri de données j'utilise l'enregistreur de macro mais dans la situation présente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir l'executer de n'importe quelle feuille. Le tri se fait sur 3 niveaux. Les feuilles se nomment POULE A, POULE B,..., POULE H. La macro actuelle est:
' Copie des plages de résultats points/sets et matches Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Copy Range("Q28").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse '------------------------------------------------------------------------------ ' Tri des données pour la recherche du rang Range("P28:S35").Select ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("Q28:Q35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("R28:R35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("S28:S35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("POULE A").Sort .SetRange Range("P28:S35") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Comment puis-je simplifier cela?
Merci pour votre aide
JP
Bonjour
Ne pourrions-nous déménager les poules vers le Perso.xls?
De cette manière, n'importe quel Goupil aurait accès ....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"JP" a écrit dans le message de groupe de discussion :
a34f67cf-7548-4032-8aef-e8241971d71f@googlegroups.com...
Bonjour,
Toujours pour le meme projet, j'aurai encore besoin de vos lumières.
Quand j'effectue un tri de données j'utilise l'enregistreur de macro mais
dans la situation présente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir
l'executer de n'importe quelle feuille. Le tri se fait sur 3 niveaux.
Les feuilles se nomment POULE A, POULE B,..., POULE H.
La macro actuelle est:
' Copie des plages de résultats points/sets et matches
Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Copy
Range("Q28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
'------------------------------------------------------------------------------
' Tri des données pour la recherche du rang
Range("P28:S35").Select
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add
Key:=Range("Q28:Q35" _
), SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add
Key:=Range("R28:R35" _
), SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add
Key:=Range("S28:S35" _
), SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("POULE A").Sort
.SetRange Range("P28:S35")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Bonjour Ne pourrions-nous déménager les poules vers le Perso.xls? De cette manière, n'importe quel Goupil aurait accès ....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "JP" a écrit dans le message de groupe de discussion :
Bonjour,
Toujours pour le meme projet, j'aurai encore besoin de vos lumières. Quand j'effectue un tri de données j'utilise l'enregistreur de macro mais dans la situation présente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir l'executer de n'importe quelle feuille. Le tri se fait sur 3 niveaux. Les feuilles se nomment POULE A, POULE B,..., POULE H. La macro actuelle est:
' Copie des plages de résultats points/sets et matches Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Copy Range("Q28").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse '------------------------------------------------------------------------------ ' Tri des données pour la recherche du rang Range("P28:S35").Select ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("Q28:Q35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("R28:R35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("S28:S35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("POULE A").Sort .SetRange Range("P28:S35") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Comment puis-je simplifier cela?
Merci pour votre aide
JP
DanielCo
Ce code trie la feuille active (non testé) :
' Tri des données pour la recherche du rang Dim Ligne As Long With ActiveSheet Ligne = .Cells(.Rows.Count, 16).End(xlUp).Row .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range("Q28:Q" & Ligne), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .Sort.SortFields.Add Key:=Range("R28:R" & Ligne), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .Sort.SortFields.Add Key:=Range("S28:S" & Ligne), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With .Sort .SetRange Range("P28:S" & Ligne) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With
Daniel
Bonjour,
Toujours pour le meme projet, j'aurai encore besoin de vos lumières. Quand j'effectue un tri de données j'utilise l'enregistreur de macro mais dans la situation présente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir l'executer de n'importe quelle feuille. Le tri se fait sur 3 niveaux. Les feuilles se nomment POULE A, POULE B,..., POULE H. La macro actuelle est:
' Copie des plages de résultats points/sets et matches Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Copy Range("Q28").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse
'------------------------------------------------------------------------------ ' Tri des données pour la recherche du rang Range("P28:S35").Select ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("Q28:Q35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("R28:R35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("S28:S35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("POULE A").Sort .SetRange Range("P28:S35") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Comment puis-je simplifier cela?
Merci pour votre aide
JP
Ce code trie la feuille active (non testé) :
' Tri des données pour la recherche du rang
Dim Ligne As Long
With ActiveSheet
Ligne = .Cells(.Rows.Count, 16).End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("Q28:Q" & Ligne), _
SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range("R28:R" & Ligne), _
SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range("S28:S" & Ligne), _
SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
With .Sort
.SetRange Range("P28:S" & Ligne)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Daniel
Bonjour,
Toujours pour le meme projet, j'aurai encore besoin de vos lumières.
Quand j'effectue un tri de données j'utilise l'enregistreur de macro mais
dans la situation présente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir l'executer
de n'importe quelle feuille. Le tri se fait sur 3 niveaux. Les feuilles se
nomment POULE A, POULE B,..., POULE H. La macro actuelle est:
' Copie des plages de résultats points/sets et matches
Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Copy
Range("Q28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _ :úlse, Transpose:úlse
'------------------------------------------------------------------------------
' Tri des données pour la recherche du rang Range("P28:S35").Select
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add
Key:=Range("Q28:Q35" _ ), SortOn:=xlSortOnValues,
Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("R28:R35"
_ ), SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE
A").Sort.SortFields.Add Key:=Range("S28:S35" _ ),
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("POULE A").Sort .SetRange
Range("P28:S35") .Header = xlGuess .MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' Tri des données pour la recherche du rang Dim Ligne As Long With ActiveSheet Ligne = .Cells(.Rows.Count, 16).End(xlUp).Row .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range("Q28:Q" & Ligne), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .Sort.SortFields.Add Key:=Range("R28:R" & Ligne), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .Sort.SortFields.Add Key:=Range("S28:S" & Ligne), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With .Sort .SetRange Range("P28:S" & Ligne) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With
Daniel
Bonjour,
Toujours pour le meme projet, j'aurai encore besoin de vos lumières. Quand j'effectue un tri de données j'utilise l'enregistreur de macro mais dans la situation présente ca ne fait pas l'affaire.
La macro de tri se trouve dans un module et je souhaiterai pouvoir l'executer de n'importe quelle feuille. Le tri se fait sur 3 niveaux. Les feuilles se nomment POULE A, POULE B,..., POULE H. La macro actuelle est:
' Copie des plages de résultats points/sets et matches Union(Range("BW35:BW42"), Range("AX35:AX42"), Range("V35:V42")).Copy Range("Q28").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse
'------------------------------------------------------------------------------ ' Tri des données pour la recherche du rang Range("P28:S35").Select ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Clear ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("Q28:Q35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("R28:R35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("POULE A").Sort.SortFields.Add Key:=Range("S28:S35" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("POULE A").Sort .SetRange Range("P28:S35") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Comment puis-je simplifier cela?
Merci pour votre aide
JP
JP
Bonjour,
Propre, net, merci à vous deux. La solution de DanielCo va très bien.
JP
Bonjour,
Propre, net, merci à vous deux.
La solution de DanielCo va très bien.