Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
...
...
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si articles
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait
pas
respecté, mais même si j'utilisée une simple recopie de ligne, je n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide please.
Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
...
...
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si articles
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait
pas
respecté, mais même si j'utilisée une simple recopie de ligne, je n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide please.
Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
...
...
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si articles
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait
pas
respecté, mais même si j'utilisée une simple recopie de ligne, je n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide please.
Bonjour,
une premiere macro pour definir le nom d'une plage variable:
la macro explore ta base de données à partir de d7 va jusqu'en bas se
decale
de 5 à gauche et stocke le nom de ta base
Sub definition_base()
ActiveWorkbook.Names.Add Name:="base", RefersTo:=Range("d7",
Range("d7").End(xlDown).Offset(0, 5).Address)
End Sub
tu tries ensuite avec les clés que tu souhaites et en utilisant le nom
"base"
pour selectionner les 3 premiers de chaque région, tu balayes ta base sur
le
critère région ,
A chaque changement de nom tu prends les 3 premiers (en verifiant que la
région n'a pas changée) que tu colles sur ta deuxième feuille.
j'ai fait un truc un peu équivalent, voilà le code tu peux t'en inspirer.
Sub reperage_etreport()
Application.ScreenUpdating = False
Sheets("Classement").Select
' remet à blanc le classement
Range("c7:i100").ClearContents
Sheets("resultats").Select
tri_base
i = 0
j = 0
Do While Cells(8 + i, 7).Value <> ""
If Cells(8 + i, 7) <> Cells(8 + i - 1, 7) And Cells(8 + i, 7) = Cells(8 +
i
+ 1, 7) _
And Cells(8 + i, 7) = Cells(8 + i + 2, 7) Then
' colorie les 3 premiers du club en vert
' Cells(8 + i, 7).Resize(3, 1).Select
' With Selection.Interior
' .ColorIndex = 35
' .Pattern = xlSolid
' End With
'se place sur le premier et selectionne son club
'recopie le nom du club
Cells(8 + i, 7).Select
Selection.Copy
Sheets("Classement").Select
Cells(7 + j, 3).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:úlse
Sheets("resultats").Select
'recopie les noms des 3 premiers
For k = 0 To 2
Cells(8 + i + k, 7).Offset(0, -2).Resize(, 2).Select
'copie sur jieme ligne 1er nom
Selection.Copy
Sheets("Classement").Select
Cells(7 + j, 4 + 2 * k).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:úlse
Sheets("resultats").Select
Next k
j = j + 1
End If
i = i + 1
Loop
Sheets("Classement").Select
'etablit le classement des clubs
definition_classement_clubs
clt_clubs
Cells(1, 1).Select
clt_individuel
Sheets("Classement").Select
Application.ScreenUpdating = False
End Sub
"David" a écrit dans le message de
news:%Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
...
...
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si
articles
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait
pasrespecté, mais même si j'utilisée une simple recopie de ligne, je
n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide
please.
Bonjour,
une premiere macro pour definir le nom d'une plage variable:
la macro explore ta base de données à partir de d7 va jusqu'en bas se
decale
de 5 à gauche et stocke le nom de ta base
Sub definition_base()
ActiveWorkbook.Names.Add Name:="base", RefersTo:=Range("d7",
Range("d7").End(xlDown).Offset(0, 5).Address)
End Sub
tu tries ensuite avec les clés que tu souhaites et en utilisant le nom
"base"
pour selectionner les 3 premiers de chaque région, tu balayes ta base sur
le
critère région ,
A chaque changement de nom tu prends les 3 premiers (en verifiant que la
région n'a pas changée) que tu colles sur ta deuxième feuille.
j'ai fait un truc un peu équivalent, voilà le code tu peux t'en inspirer.
Sub reperage_etreport()
Application.ScreenUpdating = False
Sheets("Classement").Select
' remet à blanc le classement
Range("c7:i100").ClearContents
Sheets("resultats").Select
tri_base
i = 0
j = 0
Do While Cells(8 + i, 7).Value <> ""
If Cells(8 + i, 7) <> Cells(8 + i - 1, 7) And Cells(8 + i, 7) = Cells(8 +
i
+ 1, 7) _
And Cells(8 + i, 7) = Cells(8 + i + 2, 7) Then
' colorie les 3 premiers du club en vert
' Cells(8 + i, 7).Resize(3, 1).Select
' With Selection.Interior
' .ColorIndex = 35
' .Pattern = xlSolid
' End With
'se place sur le premier et selectionne son club
'recopie le nom du club
Cells(8 + i, 7).Select
Selection.Copy
Sheets("Classement").Select
Cells(7 + j, 3).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:úlse
Sheets("resultats").Select
'recopie les noms des 3 premiers
For k = 0 To 2
Cells(8 + i + k, 7).Offset(0, -2).Resize(, 2).Select
'copie sur jieme ligne 1er nom
Selection.Copy
Sheets("Classement").Select
Cells(7 + j, 4 + 2 * k).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:úlse
Sheets("resultats").Select
Next k
j = j + 1
End If
i = i + 1
Loop
Sheets("Classement").Select
'etablit le classement des clubs
definition_classement_clubs
clt_clubs
Cells(1, 1).Select
clt_individuel
Sheets("Classement").Select
Application.ScreenUpdating = False
End Sub
"David" <david.gilbert@chello.fr> a écrit dans le message de
news:%232Y9Q7ZGEHA.3880@TK2MSFTNGP09.phx.gbl...
Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
...
...
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si
articles
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait
pas
respecté, mais même si j'utilisée une simple recopie de ligne, je
n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide
please.
Bonjour,
une premiere macro pour definir le nom d'une plage variable:
la macro explore ta base de données à partir de d7 va jusqu'en bas se
decale
de 5 à gauche et stocke le nom de ta base
Sub definition_base()
ActiveWorkbook.Names.Add Name:="base", RefersTo:=Range("d7",
Range("d7").End(xlDown).Offset(0, 5).Address)
End Sub
tu tries ensuite avec les clés que tu souhaites et en utilisant le nom
"base"
pour selectionner les 3 premiers de chaque région, tu balayes ta base sur
le
critère région ,
A chaque changement de nom tu prends les 3 premiers (en verifiant que la
région n'a pas changée) que tu colles sur ta deuxième feuille.
j'ai fait un truc un peu équivalent, voilà le code tu peux t'en inspirer.
Sub reperage_etreport()
Application.ScreenUpdating = False
Sheets("Classement").Select
' remet à blanc le classement
Range("c7:i100").ClearContents
Sheets("resultats").Select
tri_base
i = 0
j = 0
Do While Cells(8 + i, 7).Value <> ""
If Cells(8 + i, 7) <> Cells(8 + i - 1, 7) And Cells(8 + i, 7) = Cells(8 +
i
+ 1, 7) _
And Cells(8 + i, 7) = Cells(8 + i + 2, 7) Then
' colorie les 3 premiers du club en vert
' Cells(8 + i, 7).Resize(3, 1).Select
' With Selection.Interior
' .ColorIndex = 35
' .Pattern = xlSolid
' End With
'se place sur le premier et selectionne son club
'recopie le nom du club
Cells(8 + i, 7).Select
Selection.Copy
Sheets("Classement").Select
Cells(7 + j, 3).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:úlse
Sheets("resultats").Select
'recopie les noms des 3 premiers
For k = 0 To 2
Cells(8 + i + k, 7).Offset(0, -2).Resize(, 2).Select
'copie sur jieme ligne 1er nom
Selection.Copy
Sheets("Classement").Select
Cells(7 + j, 4 + 2 * k).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:úlse
Sheets("resultats").Select
Next k
j = j + 1
End If
i = i + 1
Loop
Sheets("Classement").Select
'etablit le classement des clubs
definition_classement_clubs
clt_clubs
Cells(1, 1).Select
clt_individuel
Sheets("Classement").Select
Application.ScreenUpdating = False
End Sub
"David" a écrit dans le message de
news:%Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
...
...
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si
articles
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait
pasrespecté, mais même si j'utilisée une simple recopie de ligne, je
n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide
please.
Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
....
....
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si articles >
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait pas
respecté, mais même si j'utilisée une simple recopie de ligne, je n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide please.
Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
....
....
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si articles >
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait pas
respecté, mais même si j'utilisée une simple recopie de ligne, je n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide please.
Salut,
un petit cas :
j'ai un tableau que j'ai trié par région et par % décroissant :
REGION data 2 % Articles data 5
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 456546 67 233 65456
PARIS 7676 53 43256 34554
PARIS 67687 21 3256 543543
PARIS 765567 21 55 46565
PARIS 5656 12 254345 6565433
NORMANDIE 65465 87 54654 5654
NORMANDIE 456546 67 546546 65456
NORMANDIE 654654 65 123 455
NORMANDIE 654 45 43555 53454
NORMANDIE 7687 43 654654 6546
NORMANDIE 8765 33 54654 6556665
NORMANDIE 5464576 22 54654 65456
NORMANDIE 765567 21 55 46565
NANTES 287 78 101 5354343
NANTES 7676 53 43256 34554
NANTES 654 45 43555 53454
NANTES 8765 33 54654 6556665
NANTES 5464576 22 54654 65456
NANTES 67687 21 3256 543543
NANTES 765567 21 55 46565
NANTES 5656 12 254345 6565433
....
....
etc
Je voudrais créer un bouton qui me donne un podium (3 meilleurs de la
région) par région sur une autre feuille mais avec un critère (si articles >
300), dans cette exemple ce serait :
PARIS 65465 87 54654 5654
PARIS 287 78 67543 5354343
PARIS 65465 87 54654 5654
Alors je sais que l'on peut utiliser Grande.Valeur mais je ne sais pas
déterminer la plage qui peut être variable, de plus le critère ne serait pas
respecté, mais même si j'utilisée une simple recopie de ligne, je n'arrive
pas à faire en sorte qu'il ne prenne que 3 lignes de la région x si le
critère est respecté et ensuite passe à une autre région, une aide please.