Macro pour la plus grande valeur dans une feuille excel

Loc3007

XLDnaute Nouveau
Bonjour,

Je suis nouveau, est mes connaissances en VBA sont réduites, j'ai adapté un code à mes besoins sur le tri de x classeur sur une feuille.
Mon souci, je n'arrive pas a avoir la plus grande valeur de la feuille (Débit Horaire (C)) dans la plage L10 à BS33, de plus j'aimerai une fois que la valeur est trouvé avoir la plage horaire qui correspond de la ligne 9 dans une colonne du tableau initial(recap).

Je vous remercie pour vos réponse.
 

Pièces jointes

  • recap_DELAM.xls
    42 KB · Affichages: 26
  • a1.xls
    858 KB · Affichages: 22
  • a3.xls
    858 KB · Affichages: 26
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello
Essaie avec ce code
VB:
Sub consolide()

ChDir ActiveWorkbook.Path
Set recap_DELAM = ActiveWorkbook

Application.ScreenUpdating = False
compteur = 3

nf = Dir("*.xls")
Do While nf <> ""
    If nf <> recap_DELAM.Name Then
        Workbooks.Open Filename:=nf
        Set WBOpened = ActiveWorkbook
        With WBOpened
            With .Sheets("Synthèse")
                recap_DELAM.Sheets(1).Cells(compteur, 1) = .Range("CS4").Value
                recap_DELAM.Sheets(1).Cells(compteur, 2) = .Range("Q12").Value
                recap_DELAM.Sheets(1).Cells(compteur, 3) = .Range("CY4").Value
                recap_DELAM.Sheets(1).Cells(compteur, 4) = .Range("CI40").Value
                recap_DELAM.Sheets(1).Cells(compteur, 5) = .Range("CY40").Value
                recap_DELAM.Sheets(1).Cells(compteur, 6) = .Range("AA40").Value
                recap_DELAM.Sheets(1).Cells(compteur, 7) = .Range("BE40").Value
                recap_DELAM.Sheets(1).Cells(compteur, 8) = .Range("CI55").Value
                recap_DELAM.Sheets(1).Cells(compteur, 7) = .Range("CM1").Value
                recap_DELAM.Sheets(1).Cells(compteur, 10) = .Range("CM2").Value
            End With
            With .Sheets("Débit Horaire (C)")
                .Activate
                recap_DELAM.Sheets(1).Cells(compteur, 13) = Application.WorksheetFunction.Max(Range("L10:$BS33"))
            End With
        End With
        compteur = compteur + 1
        Workbooks(nf).Close False
    End If
    nf = Dir
Loop
Application.ScreenUpdating = True
End Sub
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Loc3007 et bienvenue sur XLD :)

Dans le fichier A1 la plage fini à BY37 et non BS. Et je ne vois pas l'intérêt de sauter autant de colonnes pour en avoir que 15 au final dans le fichier A3 ??:rolleyes:. Comme je ne veux pas y mettre les mains dedans, voici un exemple pour trouver la valeur MAX.

VB:
Sub MaxVal()
Dim plage As Range, ValMax As Long
    With Sheets("Feuil1")
        Set plage = .Range("L10:BY" & .Range("BY" & .Rows.Count).End(xlUp).Row)
    End With
    ValMax = WorksheetFunction.Max(Plage)
    MsgBox "la valeur max est " & ValMax
End Sub

EDIT: bonjour vgendron :)
 

Loc3007

XLDnaute Nouveau
Bonjour,

Merci pour vos réponse, avec l'exemple de vgendron, le fichier marche.
Par contre j'ai voulu sur les lignes de code ci-dessus chercher la plus grande valeur entre 13h et 00h et la cela ne marche plus.
Aussi quand il affiche la donnée du fichier A1 la plus grande valeurs est = 941 dans le fichier Recap, j'aimerai qu'il me donne le créneau horaire de la colonne supérieur 8h-9h (BT10) dans la ligne 3 colonnes 12 du fichier Recap.

Je vous remercie pour vos réponse rapide et pertinente.

Cordialement
 

Pièces jointes

  • recap_DELAM.xls
    40 KB · Affichages: 19

Loc3007

XLDnaute Nouveau
Bonjour Loc3007 et bienvenue sur XLD :)

Dans le fichier A1 la plage fini à BY37 et non BS. Et je ne vois pas l'intérêt de sauter autant de colonnes pour en avoir que 15 au final dans le fichier A3 ??:rolleyes:. Comme je ne veux pas y mettre les mains dedans, voici un exemple pour trouver la valeur MAX.

VB:
Sub MaxVal()
Dim plage As Range, ValMax As Long
    With Sheets("Feuil1")
        Set plage = .Range("L10:BY" & .Range("BY" & .Rows.Count).End(xlUp).Row)
    End With
    ValMax = WorksheetFunction.Max(Plage)
    MsgBox "la valeur max est " & ValMax
End Sub

EDIT: bonjour vgendron :)

Bonjour,

Je fini par By37 car j'ai besoin que du débit et non des pourcentage comme dans BS.
J'ai besoin de savoir le plus de trafic du matin (00h à 12h) et le trafic le plus important de (13h à 24h).
Après que j'ai mon nombre je dois dire à quelle plage horaire que cela correspond.

Je vous remercie pour vos réponses.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 205
Messages
2 086 199
Membres
103 156
dernier inscrit
Ludo94130