Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionC'est l'idée non?
Je le dis avec beaucoup d'amitié et souhaite que tu n'interprêtes pas mes propos comme la marque de quoi que ce soit d'autre.
Cells(30, 3).Value = Application.Average(Range(Cells(3, 6), Cells(ligne, 6)))
Cells(30, 3).Value = Application.Average(Range(Cells(3, 6), Cells(ligne, 6)))
toto = Application.Average(Range(Cells(3, 6), Cells(ligne, 6)))
dernière_ligne_mémorisée = Range("G2").Value Range("D2").Value = Application.Average(Range("B" & dernière_ligne_mémorisée) & ":B5000")
Sub Demo() Dim MaColonne As String, DerniereValeur As String, MaPlage As Range MaColonne = "B" 'recherche de la derniere valeur DerniereValeur = LastValue(MaColonne) ' If Not DerniereValeur = vbNullString Then 'on definit la plage de travail Set MaPlage = Range(MaColonne & "1:" & DerniereValeur) 'y a t'il plus d'une valeur sur MaPlage If Application.WorksheetFunction.CountA(MaPlage) > 1 Then 'si oui MsgBox Application.WorksheetFunction.Average(MaPlage) 'à remplacer par la cellule qui reçoit le résultat End If End If End Sub 'la fameuse fonction: Function LastValue(ByVal MaCol As String, Optional ByRef MaFeuil As Worksheet) As String 'recherche de la derniere valeur d'une colonne 'cette fonction renvoi l'adresse de la derniere cellule non vide If MaFeuil Is Nothing Then Set MaFeuil = ActiveSheet LastValue = vbNullString On Error Resume Next LastValue = MaFeuil.Range(MaCol & Columns(MaCol).Cells.Count).End(xlUp).Address(False, False) On Error GoTo 0 End Function
dernière_ligne_mem = Range("G2").Value If dernière_ligne_mem > 0 Then Range("D2").Value = Application.Average(Range("B" & dernière_ligne_mem & ":B8")) Else Range("D2").Value = "" End If
dernière_ligne_mem = Range("G2").Value If dernière_ligne_mem > 0 Then Range("D2").Value = Application.Average(Range("B" & dernière_ligne_mem & ":B8")) Else Range("D2").Value = "" End If