Affectation de données à une cellule par macro
Bonjour,
j'effectue les mêmes calculs dans différents onglets, j'utilise donc une fonction avec en paramètre le nom de l'onglet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Function ImpactMarge(Feuille As String) as double
Dim WsSource As Worksheet
Dim Nbl As Integer
Call DateRec
Set WsSource = ThisWorkbook.Sheets(Feuille)
Nbl = WsSource.Range("A4").CurrentRegion.Rows.Count
With WsSource
Set d = Nothing
Set d = .Rows(4).Find("*(yc marge gestion, hors indexation) ", , xlValues, xlWhole)
If Not d Is Nothing Then ImpactMarge = Application.Sum(Cells(5, d.Column).EntireColumn)
End With
MsgBox ImpactMarge
End Function |
Je souhaiterais maintenant affecter les résultats de la fonction à des cellules d'une autre feuille Résultats, je crée la macro suivante que j'affecte à un bouton dans la feuille "Résultats" :
Code:
1 2 3 4 5 6 7 8 9 10
| Public Sub Impact_Marge()
Dim WsCible As Worksheet
Set WsCible = ThisWorkbook.Sheets("Résultats"")
'WsCible.Range("C18").Value = ImpactMarge("Prévoyance Réseau")
'WsCible.Range("C17").Value = ImpactMarge("Santé Réseau")
End Sub |
Mais les résultats ne sont corrects que lorsque la feuille active est la feuille qui est sélectionnée dans la fonction. Autrement dit, tant que je reste sur la feuille Résultats, les calculs sont tous faux :?
Comment pourrais je corriger cela ?
Merci d'avance pour votre aide