Bonjour à tous,
Je fais appel à vous car je souhaite insérer dans chaque cellule de la plage K4:K8 une fonction que j'ai créé et qui fonctionne. Cette fonction prend deux arguments: le premier sera une plage de cellule fixe à savoir E10:H10, jusqu'ici pas de problème. Mon problème vient du second argument de la fonction qui doit prendre une plage variable à savoir E4:H4 pour la cellule K4 puis E5:H5 pour la cellule K5 ... puis E8:H8 pour la cellule K8. Je n'arrive pas à définir cette plage variable à partir d'une boucle du type de celle que j'ai créé ici.
Voici donc mon code pour réaliser cette opération ainsi que le code de ma fonction:
Merci par avance et bonne journée.
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
33
34
35
36
37 Option Explicit Option Base 1 Sub test() Dim rend_pf() As Variant ReDim rend_pf(5, 1) Dim n, i As Integer n=5 For i = 1 To n Range("K" & i + 3).Select ActiveCell.Formula = "=rend_pf(E10:H10,E & i+3 :H & i+3)" Next i End Sub Function rend_pf(A As Range, B As Range) Dim m, j As Integer Dim rend As Double m = B.Columns.Count rend = 0 For j = 1 To m rend = rend + A(1, j) * B(1, j) Next j rend_pf = rend End Function
Cordialement.
Partager