Ligne de code qui m'envoie vers une erreur

Bonjour à tous,

J'ai un soucis avec cette ligne de code qui me pose problème :

Set Plg = Range("D2:D" & dligD)

With Application.WorksheetFunction

[S4] = .Count(Plg) ' NB

[b]

[U4] = .Average(Plg) ' Average

[/b]

End With

Elle me pose problème lorsque la colonne est vide, et j'arrive pas à trouver la solution pour régler ce soucis.

Merci pour votre aide.

Bonjour Filou,

je te propose ce code VBA (à tester) :

Option Explicit

Sub Essai()
  Dim Plg As Range, dlig&, n&
  dlig = Cells(Rows.Count, "D").End(xlUp).Row
  If dlig = 1 Then Exit Sub ' note : dlig = 1 si y'a aucune donnée !
  Set Plg = Range("D2:D" & dlig)
  With Application.WorksheetFunction
    n = .Count(Plg): [S4] = n: If n > 0 Then [U4] = .Average(Plg)
  End With
End Sub

dhany

Bonjour

Essaie ça :

    dligD = Range("D" & Rows.Count).End(xlUp).Row
    Set Plg = Range("D2:D" & dligD)
    With Application.WorksheetFunction
        [S4] = .Count(Plg) ' NB
        If [U4] <> 0 Then
            [U4] = .Average(Plg) ' Average
        Else
            MsgBox "La colonne D est vide. On ne peut donc pas calculer la mpyenne." ' Average
        End If
    End With

Bye !

Merci d'avoir répondu,

Du coup j'ai utiliser la méthode de gmb en la modifiant un peu :

Set Plg = Range("D2:D" & dligD)

With Application.WorksheetFunction

[S4] = .Count(Plg) ' NB

If [S4] <> 0 Then

[U4] = .Average(Plg) ' Average

End If

End With

Merci beaucoup

Rechercher des sujets similaires à "ligne code qui envoie erreur"