Fonction Max sur une plage variable

Bonjour,

Dans le cadre de travail j'aimerais solliciter concernant une erreur sur un code.

Je voudrais utiliser la fonction Max en valeur absolue sur une zone précise et je voulais savoir s'il était possible de changer le "[9]" par toutes les cellules vers le bas jusqu'à la prochaine cellule vide et ainsi de suite.

En faisant l'enregistrement de Macro, cela a enregistré seulement pour les 9 cellules en dessous.

Je vous remercie d'avance et vous souhaite de passer une bonne journée !

macro

Bonjour MecCool95 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Concernant votre demande, vous pouvez utiliser "FormulaLocal"
Exemple :

ActiveCell.FormulaLocal = "=MAX(A1:A9")"

Merci pour votre participation

A+

Bonjour BrunoM45

Merci pour votre réponse.

Je n'ai peut-être pas été clair dans ma demande.

J'ai fait un extrait de mon extraction et je voudrais savoir comment il était possible d'avoir la valeur absolue maximale des zones vertes dans la cellule jaune qui lui correspond?

Avec mon code, je n'arrive qu'à avoir la valeur absolue maximale des 9 premières cellules de mes zones verte.

Je vous remercie par avance et vous souhaite une bonne journée :)

14test-macro.xlsx (20.02 Ko)

Hello,

Une proposition

@+

19test-macro.xlsx (20.70 Ko)

Hello BAROUTE 78,

Je n'arrive pas à trouver le code que tu as fait

Hum désolé je n'avais pas vu que c'était une solution vba à trouver my bad..

Je regarde mais je pencherais plutôt sur des Application.worksheetfunction plutot que les formula local

@+

Pas de problèmes :)

Un petit up au cas ou

Re,

Voici une possibilité

Sub Max()
  Dim dLig As Long, Lig As Long
  Dim LigDeb As Long, LigFin As Long
  Dim sForm As String
  With Sheets("JE CD 31.12")
    LigDeb = 4
    dLig = .Range("Z" & Rows.Count).End(xlUp).Row
    For Lig = LigDeb To dLig + 1
      ' Si la prochaine ligne n'a pas de valeur = fin
      If .Range("Z" & Lig).Value = "" Then
        If .Range("Z" & Lig - 1).Value <> "" Then
          LigFin = Lig - 1
          sForm = "=MAX(ABS(AM" & LigDeb & ":AN" & LigFin & "))"
          .Range("AO" & LigDeb).Formula2Local = sForm
          LigDeb = 0
        End If
      Else
        If LigDeb = 0 Then LigDeb = Lig
      End If
    Next Lig
  End With
End Sub

A+

ça semble fonctionner, Merci beaucoup !!!!!

Bonsoir,

Rechercher des sujets similaires à "fonction max plage variable"