Microsoft 365 Max de plusieurs plages

  • Initiateur de la discussion Initiateur de la discussion Zarzis
  • 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 !

Zarzis

XLDnaute Nouveau
Bonjour à tous,
Je cherche une formule que permet de chercher les plages entre des zéros et compter la somme de max de chaque plage ;
Par Exemple: cell1= 2 cell2= 3 cell4= 1 cell5= 0 cell6= 0 cell7= 0 cell8= 2 cell9= 1 cell10= 0
Plage1: cell1= 2 cell2= 3 cell4= 1
Plage2: cell8= 2 cell9= 1
Somme = [Max(Plage1);Max(Plage2))]
Merci d'avance,
 

Pièces jointes

Avec des plages trimestrielles nommées
RE,
Merci pour votre retour, ce n’est pas ça qu'est-ce que je cherche. En fait, les plages ne sont pas définies ni par mois ni par trimestre. Je besoin un programme qui permet de chercher les cellules entre les zéros et les définir comme une plage. C’est compliquer vraiment j'ai essayé de créer un programme mais ça ne marche pas.
Merci,
 
RE,
Merci pour votre retour, ce n’est pas ça qu'est-ce que je cherche. En fait, les plages ne sont pas définies ni par mois ni par trimestre. Je besoin un programme qui permet de chercher les cellules entre les zéros et les définir comme une plage. C’est compliquer vraiment j'ai essayé de créer un programme mais ça ne marche pas.
Merci,
voici le code mais il fonctionne pas;
<
Function Max_Nacelle(plage As Range) As Integer
Application.Volatile
Dim colec As New Collection
Dim cel As Range
Dim Max As Integer
For Each cel In plage.Cells
On Error Resume Next
If cel.Value <> "" Then
colec.Add cel.Value, CStr(cel.Value)
End If
Max = Application.WorksheetFunction.Max(colec)

Next cel
Max_Nacelle = Max_Nacelle + Max

End Function
>
 
Bonjour à tous,

VB:
Function Max_Nacelle(plage As Range) As Double
    Dim datas, maxi As Double, col As Long
    datas = plage.Value
    For col = 1 To UBound(datas, 2)
        If datas(1, col) = 0 Then
            Max_Nacelle = Max_Nacelle + maxi: maxi = 0
        Else
            If datas(1, col) > maxi Then maxi = datas(1, col)
        End If
    Next col
    Max_Nacelle = Max_Nacelle + maxi
End Function
eric
 
Bonjour à tous,

VB:
Function Max_Nacelle(plage As Range) As Double
    Dim datas, maxi As Double, col As Long
    datas = plage.Value
    For col = 1 To UBound(datas, 2)
        If datas(1, col) = 0 Then
            Max_Nacelle = Max_Nacelle + maxi: maxi = 0
        Else
            If datas(1, col) > maxi Then maxi = datas(1, col)
        End If
    Next col
    Max_Nacelle = Max_Nacelle + maxi
End Function
eric
RE?
Je vous remerci bien le code fonctionne bien 🙂
 
- 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

Discussions similaires

Réponses
22
Affichages
1 K
Réponses
5
Affichages
487
Réponses
7
Affichages
702
Réponses
46
Affichages
2 K
Réponses
7
Affichages
880
Retour