Différence minimale entre les cellules et la moyenne VBA

merci

Bonjour

A tester

Sub mean()
Dim cellule As Range
Dim moyenne As Double

  moyenne = Application.WorksheetFunction.Average(Selection)
  difference = 10000
  With Selection
    For Each cellule In Selection
      difference = Application.Min(difference, Application.WorksheetFunction.Min(Abs(cellule.Value - moyenne)))
    Next cellule
    Range("c1") = difference
  End With
End Sub

Impecable, merci Banzai

merci

Bonjour

Afin de tester joins un fichier dans lequel tu indiques les opérations à faire

Par exemple quelle sélection que tu fais

Quel résultat attends tu de la macro (nomme la cellule qui correspond)

En y regardant de plus près

A tester

Sub mean()
Dim cellule As Range
Dim moyenne As Double
  With Range("A1:E9")
    .Interior.ColorIndex = xlNone
    .Select
  End With

  moyenne = Application.WorksheetFunction.Average(Selection)
  Range("G1") = moyenne
  difference = 100000

  With Selection
    For Each cellule In Selection
      difference = Application.Min(difference, Application.WorksheetFunction.Min(Abs(cellule.Value - moyenne)))
    Next cellule

    Range("F1") = difference

    For Each cellule In Selection
      If cellule = moyenne - difference Then
        cellule.Interior.Color = vbGreen
      ElseIf cellule = moyenne + difference Then
        cellule.Interior.Color = vbGreen
      End If
    Next cellule

  End With
End Sub

Etant sur mac j'utilise une connexion à distance sur un pc windows pour vba, je n'ai pas le fichier

Merci encore une fois, ça marche très bien

Rechercher des sujets similaires à "difference minimale entre moyenne vba"