VBA Quelle feuille contient le plus grand nombre de lignes

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je fais appel à vous pour m'aider à affecter à une variable la valeur du plus grand nombre de lignes moins une trouvées sur 3 feuilles.

J'ai commencé ainsi :
Code:
With Sheets("Liste1")
nbval1 = .Cells(Feuil2.Rows.Count, 1).End(xlUp).Row - 1
End With
With Sheets("Liste2")
nbval2 = .Cells(Feuil3.Rows.Count, 1).End(xlUp).Row - 1
End With
With Sheets("NListe3")
nbvalnotes3 = .Cells(Feuil4.Rows.Count, 1).End(xlUp).Row - 1
End With
Pourriez-vous m'aider à rédiger la suite pour attribuer à une variable que je nommerai par exemple NBlignesMax la plus grandes des valeurs entre nbval1, nbval2, nbval3 ?

Merci
 

Paf

XLDnaute Barbatruc

fb62840

XLDnaute Impliqué
Re : VBA Quelle feuille contient le plus grand nombre de lignes

Bonjour,

Non les 2 fils sont indépendants.

J'avais effectivement imaginé dans un premier temps par tests successifs mais j'imaginais qu'il était possible de faire un peu plus efficace.
 
G

Guest

Guest
Re : VBA Quelle feuille contient le plus grand nombre de lignes

Bonsoir,

Ci-dessous deux fonctions différentes:

Code:
Function MaxLignes() As Long
Dim sh As Worksheet
Dim nbLignes As Long
    For Each sh In Worksheets(Array("Feuil1", "Feuil2", "Feuil3"))
        nbLignes = sh.Cells(Rows.Count, 1).End(xlUp).Row - 1
        If MaxLignes < nbLignes Then MaxLignes = nbLignes
    Next
End Function
Function MaxLignes2() As Long
    MaxLignes2 = Application.Max(Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row - 1, _
                    Sheets("Feuil2").Cells(Rows.Count, 1).End(xlUp).Row - 1, _
                    Sheets("Feuil3").Cells(Rows.Count, 1).End(xlUp).Row - 1)
End Function
A+
 
Haut Bas