bonjour,

dans ma fonction je vais chercher des valeurs dans une feuille pour faire mes calculs. Seulement voilà les valeurs en question sont nombreuses et j'aimerai pouvoir alléger ce code ci:

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public function sigma(ByVal fc, ByVal L1, ByVal L2, ByRef plageSource As Range, ByVal nomFeuilDest As String) As SingleFor Each cellule In plageSource
f=cellule.value
 If cboChoixSrce.Text = "BRH" Then
        Lws = cellule.Offset(25, 4).Value
        Lwa = cellule.Offset(0, 4).value
       elseif cboChoixSrce.Text = "scie"
       Lws= cellule.Offset(25, 5).Value
       Lwa=cellule.Offset(0, 5).value
      elseif cboChoixSrce.Text = "compresseur"
       Lws= cellule.Offset(25, 6).Value
       Lwa=cellule.Offset(0, 6).value
      elseif cboChoixSrce.Text = "perceuse"
       Lws= cellule.Offset(25, 7).Value
       Lwa=cellule.Offset(0, 7).value
       elseif cboChoixSrce.Text = "marteau"
       Lws=   cellule.Offset(25, 8).Value
       Lwa=cellule.Offset(0, 8).value
 
           '..... etc
 end if
 
  ici mes calculs
 
        End If
end function
sub ray()
 Dim plageSource As Range
    Dim nomFeuilDest As String
    sigm=sigma(...)
    nomFeuilDest = "Feuil3"                     'on définit la feuille de destination
    Set plageSource = Range("Feuil1!B5:B25")
end sub
ça continue comme ça pour une trentaine de cboChoixSrce. peut on faire moins lourd?Merci