Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

valeur max d'une celulle dans un classeur

  • Initiateur de la discussion Initiateur de la discussion Patricia123
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Patricia123

Guest
Bonjour, je cherche à écrire une ligne de code VBA qui me renverrait la valeur max pour une celulle donnée (disons A1) dans tout un classeur.
Merci
 
Re : valeur max d'une celulle dans un classeur

Bonsoir Patricia123 et bienvenue sur le forum,

Si j'ai bien compris, cette macro retourne sur la feuille active la valeur maximale de tous les onglets (feuilles) contenus dans un classeur (fichier) Excel.

VB:
Sub MaxClasseur()
    Dim i As Integer, lmax As Long
    lmax = 0
    For i = 1 To Worksheets.Count
        If Application.WorksheetFunction.Max(Worksheets(i).UsedRange) > lmax Then lmax = Application.WorksheetFunction.Max(Worksheets(i).UsedRange)
    Next i
    [A1] = lmax
End Sub

ou encore cette formule qui permet de trouver la valeur maximale dans un onglet. La formule doit être dans un onglet différent de celui contenant les valeurs sinon il y aura un problème de référence circulaire ...

VB:
Function MaxOnglet(cell As Range) As Long
    MaxOnglet = Application.WorksheetFunction.Max(cell.Parent.UsedRange)
End Function

En espérant que ces pistes pourront t'aider...

A+
 
Re : valeur max d'une celulle dans un classeur

Bonjour,

Pour compléter, si tu cherches simplement à trouver la cellule A1 qui contient la plus grande valeur
Code:
Option Explicit
Sub ChercheMaxA1()
Dim Sh As Worksheet
Dim Maximum As Double
Dim Feuille As String
    For Each Sh In Worksheets
        If Sh.Range("A1") > Maximum Then
            Maximum = Sh.Range("A1")
            Feuille = Sh.Name
        End If
    Next
    MsgBox Maximum & " est la plus grande valeur trouvée dans les cellules A1." & Chr(10) & _
    "Cette valeur se trouve dans la feuille " & Feuille & "."
End Sub

Note bien que tu peux obtenir ce résultat très simplement avec une formule EXCEL.
Exemple pour un classeur de 3 feuilles
Code:
=MAX(Feuil1:Feuil3!A1)

Ou une équivalence avec VBA pour l’ensemble des feuilles (avec le résultat en B1 / Feuil1 pour l’exemple)
Code:
Worksheets("Feuil1").Range("B1").FormulaLocal = "=MAX(" & Worksheets(1).Name & ":" & Worksheets(Worksheets.Count).Name & "!A1)"

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
345
Réponses
3
Affichages
256
  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
379
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…