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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Comment pourrais je corriger cela ?
Merci d'avance pour votre aide
Partager