Bonjour,
j'ai besoin de votre aide pour cette macro. En effet pour le calcul de la moyenne, si les données de la feuille wbSource sont vides, la macro renvoie une erreur. La seule solution que j'ai trouvé est de remplacer les cellules vide par 0.
Avez vous une autre solution?
Sub Mensuel_SM()
' Définir les variables pour les classeurs et les feuilles
Dim wsSource As Worksheet
Dim wsMois As Worksheet
Dim wsCible As Worksheet
Dim rangeSource As Range
Dim rangeCible As Range
Dim Moyenne As Double
Dim Somme As Double
Dim Col1 As String
Dim Col2 As String
Set wsSource = Sheets("production endoQMSM hebdo")
Set wsCible = Sheets("production endoQMSM Mensuel ")
Set wsMois = Sheets("répartition semaines")
'janvier SM'
Col1 = wsMois.Range("U9")
Col2 = wsMois.Range("V9")
'NB ETP direct présent'
Moyenne = Application.WorksheetFunction.Average(wsSource.Range(Col1 & "80:" & Col2 & "80"))
wsCible.Range("c80").Value = Moyenne
'NB ETP direct inscrit'
Moyenne = Application.WorksheetFunction.Average(wsSource.Range(Col1 & "81:" & Col2 & "81"))
wsCible.Range("C81").Value = Moyenne
'Polyvalence'
Moyenne = Application.WorksheetFunction.Average(wsSource.Range(Col1 & "82:" & Col2 & "82"))
wsCible.Range("c82").Value = Moyenne
'Nb ETP indirect présent'
Moyenne = Application.WorksheetFunction.Average(wsSource.Range(Col1 & "83:" & Col2 & "83"))
wsCible.Range("c83").Value = Moyenne
'NB ETP indirect inscrit'
Moyenne = Application.WorksheetFunction.Average(wsSource.Range(Col1 & "84:" & Col2 & "84"))
wsCible.Range("C84").Value = Moyenne
Merci de votre aide,
Philippe