1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| Sub Graphique_Ligne_E()
'Définitions des valeurs max de rebuts entre code défaut
Dim SemaineSaisieE As Byte
Dim ColonneE As Integer
Dim derniereligneE As Integer
Dim SemaineE As String
Dim Top1, Top2, Top3 As Currency
Dim Lignetop1, Lignetop2, Lignetop3 As String
Dim Defauttop1, Defauttop2, Defauttop3 As String
Sheets("Récapitulatif_Ligne E").Select
'Saisie du numéro de la semaine
On Error Resume Next
10:
SemaineSaisieE = InputBox("Merci de saisir le numéro de semaine à étudier :", "Numéro de semaine à renseigner", "12")
If Err.Number <> 0 Then
Exit Sub
ElseIf SemaineSaisieE = 0 Or SemaineSaisieE > 52 Then
MsgBox "Erreur de saisie de la semaine." & vbNewLine & "Merci d'indiquer un nombre entre 1 et 52."
GoTo 10
End If
On Error GoTo 0
SemaineE = "S" & SemaineSaisieE
'Trouver la dernière ligne du tableau
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.End(xlDown).Select
derniereligneE = ActiveCell.Row
'Rechercher la colonne de la semaine demandée précedemment
Range("C1").Activate
Cells.Find(What:=SemaineE, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
ColonneE = ActiveCell.Column
' Ecrire les 3 plus grandes valeurs de la colonne
Range("BI3").Select
ActiveCell.FormulaR1C1 = "=LARGE(R2C" & ColonneE & ":R" & derniereligneE & "C" & ColonneE & ",1)"
Top1 = ActiveCell.Value
Range("BI4").Select
ActiveCell.FormulaR1C1 = "=LARGE(R2C" & ColonneE & ":R" & derniereligneE & "C" & ColonneE & ",2)"
Top2 = ActiveCell.Value
Range("BI5").Select
ActiveCell.FormulaR1C1 = "=LARGE(R2C" & ColonneE & ":R" & derniereligneE & "C" & ColonneE & ",3)"
Top3 = ActiveCell.Value
'Chercher la désignation des trois plus grandes valeurs trouvées
Range(Cells(2, ColonneE), Cells(derniereligneE, ColonneE)).Select
'Application.FindFormat.NumberFormat = "#,##0.00 $"
Selection.Find(What:=Top1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Lignetop1 = ActiveCell.Row
Defauttop1 = Range("A" & Lignetop1)
Range("A" & Lignetop1).Select
Range("BJ3").Value = Defauttop1
'Range(Cells(2, ColonneE), Cells(derniereligneE, ColonneE)).Select
'Application.FindFormat.NumberFormat = "#,##0.00 $"
'Selection.Find(What:= & Top2, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
'Lignetop2 = ActiveCell.Row
'Defauttop2 = Range("A" & Lignetop2)
'Range("A" & Lignetop2).Select
'Range("BJ4").Value = Defauttop2
'Range(Cells(2, ColonneE), Cells(derniereligneE, ColonneE)).Select
'Application.FindFormat.NumberFormat = "#,##0.00 $"
'Selection.Find(What:= & Top3, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
'Lignetop3 = ActiveCell.Row
'Defauttop3 = Range("A" & Lignetop3)
'Range("A" & Lignetop3).Select
'Range("BJ5").Value = Defauttop3
'Range("BL4").Select
End Sub |
Partager