Vérifier qu'une plage est vide

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 !

Troudz

XLDnaute Occasionnel
Bonjour à tous,

Je me suis créée une fonction qui vérifie si les cellules d'une plages sont vides mais elle devient très lente lorsque la plage observée est grande :
Code:
Function PlageVide(PlageObservee As Range) As Boolean
Dim i As Long
Dim j As Long
PlageVide = True
    
    With PlageObservee
        For i = 1 To .Rows.Count
            For j = 1 To .Columns.Count
                If .Item(i, j) <> "" Then PlageVide = False
            Next
        Next
    End With

End Function

Auriez vous une idée pour accélérer ce traitement ?

Merci d'avance,

Bonne journée

PS : j'aurai bien utilisé l'équivalent de la formule "ESTVIDE" mais j'aurai bien aimé faire ça entièrement avec du code VBA.
 
Re : Vérifier qu'une plage est vide

Bonjour Troudz,
Peut être en sortant dès qu'une cellule est non vide:

VB:
Function PlageVide(PlageObservee As Range) As Boolean
Dim i As Long
Dim j As Long
PlageVide = True
    With PlageObservee
        For i = 1 To .Rows.Count
            For j = 1 To .Columns.Count
                If .Item(i, j) <> "" Then
                PlageVide = False
                Exit Function
                End If
            Next
        Next
    End With
End Function
Cordialement
 
Re : Vérifier qu'une plage est vide

Bonjour Efgé et merci
C'est effectivement une solution à laquelle que je n'avais pas pensé. C'est vraiment que c'est plus rapide quand la plage n'est pas vide. Malheureusement, lorsque la plage est vide, le code est toujours très très long à exécuter.
 
Re : Vérifier qu'une plage est vide

Bonjour le fil 🙂

Une tentative (en espérant ne pas faire de bêtise ...)

Code:
Function PlageVide(PlageObservee As Range) As Boolean
PlageVide = True
    With PlageObservee
        If WorksheetFunction.CountA(PlageObservee) > 0 Then PlageVide = False
    End With
End Function

Bonne journée à tous,

mth
 
- 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
15
Affichages
788
Réponses
5
Affichages
914
Réponses
4
Affichages
735
Réponses
10
Affichages
665
Retour