Ecrit le max à la dernière ligne

Bonjour,

Je voudrais afficher a la derniere ligne de ma colonnele max de cette colonne sachant la colonne comporte + de 10000 valeurs.

Merci à ceux qui on une idee pour la transcription du maximum sur la derniere ligne

sub max_min()
Dim MyRange As Range, Reponse As String
    With Sheets("feuil1")             'Range("A" & Rows.Count).End(xlUp).Row   j'aiplusieurs colonnes 
        Set MyRange = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row)
    End With
    Reponse = Application.WorksheetFunction.Max(MyRange)

End Sub

Bonjour,

Un exemple à adapter dans le fichier joint.

ALT F8, exécuter la procédure.

Cdlt.

21good.xlsm (19.98 Ko)

Bonjour good, le forum,

Un essai :

 Sub max_min()
    Dim MyRange As Range, Reponse As String
    Dim dernierLigne As Long

        With Sheets("feuil1")             'Range("A" & Rows.Count).End(xlUp).Row   j'aiplusieurs colonnes
           Set MyRange = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row)
        End With

        Reponse = Application.WorksheetFunction.Max(MyRange)

    derniereLigne = Range("B" & Rows.Count).End(xlUp).Row + 1
    Range("B" & derniereLigne) = Reponse

    End Sub

cordialement,

Salut !!

La fonction =Max() ne fonctionne pas?

xorsankukai a écrit :

Bonjour good, le forum,

Un essai :

 Sub max_min()
    Dim MyRange As Range, Reponse As String
    Dim dernierLigne As Long

        With Sheets("feuil1")             'Range("A" & Rows.Count).End(xlUp).Row   j'aiplusieurs colonnes
           Set MyRange = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row)
        End With

        Reponse = Application.WorksheetFunction.Max(MyRange)

    derniereLigne = Range("B" & Rows.Count).End(xlUp).Row + 1
    Range("B" & derniereLigne) = Reponse

Bonjour,

La aussi ça marche nickel juste en ôtant le e à dernière

Si je veux faire pour toute ma feuille je peux utiliser [code]Set MyRange = .Range("B2:X2" & .Range("B" & .Rows.Count).End(xlUp).Row)

End Sub

[/code]

cordialement,

Re,

Oups! effectivement , j'ai fait une petite erreur bien vu

juste en ôtant le e à dernière

ou en rajoutant un e à

Dim derniereLigne As Long

@ bientôt

bonjour,

J'essaie de continuer mon code mais j'ai une erreur j'arrive pas à passer

  Set MyRange = .Range("B2:G2" & .Range("B:G" & .Rows.Count).End(xlUp).Row)

Je veux qu'il me renvoie le max de toute la B2 à G2 jusqu’à la fin de la colonne.

Merci

RE,

Un nouvel exemple.

Cdlt.

12good-1.xlsm (20.63 Ko)
Jean-Eric a écrit :

RE,

Un nouvel exemple.

Cdlt.

bonjour,

Je vois voir exemple il me renvoie le max de toute mes colonne moi je voudrais comme la B afficher aussi pour la C; D; E;F;G

10maxmingood.xlsm (15.50 Ko)

bonjour,

Est-ce possible ce code en VBA

 Set MyRange = .Range("B2:G2" & .Range("B:G" & .Rows.Count).End(xlUp).Row)

Merci

Bonjour,

Un nouvel essai...

Cdlt.

9good-1.xlsm (20.90 Ko)

Salut tout le monde,

vraiment pour passer le temps...

iRow = UsedRange.Rows.Count + 2
For x = 1 To Cells(2, Columns.Count).End(xlToLeft).Column
    Cells(iRow, x) = Application.WorksheetFunction.Max(Range(Cells(2, x), Cells(iRow - 2, x)))
Next

A+

Bonjour,

excellent ça marche comme je voulais.

Merci du coup de pouce.

Jean-Eric a écrit :

Bonjour,

Un nouvel essai...

Cdlt.

Bonjour,

Cette fois-ci je voudrais avec le même fichier soustraire le Max et Le min trouvé.

Je sais le faire avec un seul fichier en indiquant le Range ce que je sais pas adapter pour un autre fichier de taille different .

Merci

Bonjour,

Une nouvelle proposition à étudier.

Cdlt.

10good-2.xlsm (21.31 Ko)

Salut Good,

J'aurais un fichier pareil, je m'arrangerais pour afficher ces résultats en haut du tableau voire sur le côté mais en haut quand même pour plus de facilité car je suppose que ces lignes se garnissent au fur et à mesure!?

Déclenchement de la macro via un double-clic en [B1].

Ici, les résultats s'affichent deux lignes en-dessous des colonnes :

  • en gras pour le MAX ;
  • en italic pour le MIN ;
  • en rouge pour la différence.

Tu peux ajouter des nombres dans l'intervalle puis re-double-clic pour voir l'effet.

La macro calcule alors la présence de la cellule Différence (en rouge), efface les 3 dernières lignes et recalcule.

Evidemment, il faut peaufiner en fonction de la manière de remplissage des colonnes!!!

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Not Intersect(Target, Range("B1")) Is Nothing Then
    Cancel = True
    For x = 2 To Cells(2, Columns.Count).End(xlToLeft).Column
        sCol = Split(Columns(x).Address(ColumnAbsolute:=False), ":")(1)
        iRow = Range(sCol & Rows.Count).End(xlUp).Row
        If Cells(iRow, x).Font.Color = RGB(255, 0, 0) Then Range(sCol & iRow - 2 & ":" & sCol & iRow).Delete shift:=xlUp
        iRow = Range(sCol & Rows.Count).End(xlUp).Row
        Cells(iRow + 3, x) = Application.WorksheetFunction.Max(Range(sCol & ":" & sCol))
        Cells(iRow + 3, x).Font.Bold = True
        Cells(iRow + 4, x) = Application.WorksheetFunction.Min(Range(sCol & ":" & sCol))
        Cells(iRow + 4, x).Font.Italic = True
        Cells(iRow + 5, x) = Cells(iRow + 3, x) - Cells(iRow + 4, x)
        Cells(iRow + 5, x).Font.Color = RGB(255, 0, 0)
    Next
End If
'
End Sub

A+

7good-281-29.xlsm (17.28 Ko)

Bonjour,

Une nouvelle proposition à étudier.

ALT F8, exécuter la procédure 'DEMO'

Cdlt.

10good-3.xlsm (22.68 Ko)
curulis57 a écrit :

Salut Good,

J'aurais un fichier pareil, je m'arrangerais pour afficher ces résultats en haut du tableau voire sur le côté mais en haut quand même pour plus de facilité car je suppose que ces lignes se garnissent au fur et à mesure!?

Déclenchement de la macro via un double-clic en [B1].

Ici, les résultats s'affichent deux lignes en-dessous des colonnes :

  • en gras pour le MAX ;
  • en italic pour le MIN ;
  • en rouge pour la différence.

Tu peux ajouter des nombres dans l'intervalle puis re-double-clic pour voir l'effet.

La macro calcule alors la présence de la cellule Différence (en rouge), efface les 3 dernières lignes et recalcule.

Evidemment, il faut peaufiner en fonction de la manière de remplissage des colonnes!!!

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Not Intersect(Target, Range("B1")) Is Nothing Then
    Cancel = True
    For x = 2 To Cells(2, Columns.Count).End(xlToLeft).Column
        sCol = Split(Columns(x).Address(ColumnAbsolute:=False), ":")(1)
        iRow = Range(sCol & Rows.Count).End(xlUp).Row
        If Cells(iRow, x).Font.Color = RGB(255, 0, 0) Then Range(sCol & iRow - 2 & ":" & sCol & iRow).Delete shift:=xlUp
        iRow = Range(sCol & Rows.Count).End(xlUp).Row
        Cells(iRow + 3, x) = Application.WorksheetFunction.Max(Range(sCol & ":" & sCol))
        Cells(iRow + 3, x).Font.Bold = True
        Cells(iRow + 4, x) = Application.WorksheetFunction.Min(Range(sCol & ":" & sCol))
        Cells(iRow + 4, x).Font.Italic = True
        Cells(iRow + 5, x) = Cells(iRow + 3, x) - Cells(iRow + 4, x)
        Cells(iRow + 5, x).Font.Color = RGB(255, 0, 0)
    Next
End If
'
End Sub

A+

bonjour,

Comme je débute j'arrive pas l’exécuter le nom de la macro ??

J'arrive à positionner sur [B1] mais nothing.

Merci

executer

Salut Good,

la macro doit être collée dans le module de la feuille concernée.

Elle se declenche par un double-clic n'importe où dans la feuille.

A+

curulis57 a écrit :

Salut Good,

la macro doit être collée dans le module de la feuille concernée.

Elle se declenche par un double-clic n'importe où dans la feuille.

A+

Je reviens.... je l'ai copié dans un module il me le crée avec sub xxxx

end sub

mais le private donne une erreur

j'arrive toujours pas l’exécuter meme avec une double clic sur la feuille rien ne se passe.

Merci desolé encore juste c la première fois que j'utilise cette methode d'exé.

Rechercher des sujets similaires à "ecrit max derniere ligne"