Bonjour à tous,

Je me tourne vers vous car je rencontre des difficultés pour utiliser la formule "Formula".

Voici le contexte, j'utilise une macro que j'appelle depuis chaque cellule de mon fichier Excel afin de simuler Project sous Excel. Ci dessous l'une de ces formules. Au passage si vous voyez une façon de l'optimiser je suis preneur.

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
 
Function XLSchedule_Start2Start(refdate As Single, duration As Integer, offset As Integer, DateRange As Range, MotherTask As Range)
Dim idx_mother As Integer '
'searching idx for first start of MotherTask
 
idx_mother = 1
Do
    idx_mother = idx_mother + 1
Loop Until MotherTask.Cells(idx_mother) > 0
 
XLSchedule_Start2Start = 0
If ((refdate >= DateRange.Cells(idx_mother) + offset) And (refdate < DateRange.Cells(idx_mother) + offset + duration)) Then
    XLSchedule_Start2Start = 1
End If
End Function

Afin de faciliter l'utilisation de mon fichier, je souhaite pouvoir réaliser le remplissage de certaines cellules du fichier via une macro. En première approche, il me semble que la fonction Formula est la mieux indiquée mais le code ci dessous me retourne une Erreur 1004.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
K = ActiveCell.Address
Li = Range(K).Row
 
For C = 9 To 88
    If C <> 35 Then
        Adr = ThisWorkbook.Worksheets("Projet WRX18+").Cells(Range(K).Row, C).Address
        Colact = Range(Adr).Column
        Colact = Split(Columns(Colact).Address(ColumnAbsolute:=False), ":")(1)
        Formulee = "=XLSchedule_Start2Start(" & Colact & "$1;$D$" & Li & ";$E$" & Li & ";$I$1:$CI$1;$I$" & lignecible & ":$CI$" & lignecible & ")"
        ThisWorkbook.Worksheets("Projet WRX18+").Cells(Range(K).Row, C).Formula = Formulee
    End If
Next
Je me suis assuré que Formulee remonte bien la formule que je souhaite indiquer dans la formule à savoir l'image ci dessous la cible étant : =XLSchedule_Start2Start(I$1;$D$29;$E$29;$I$1:$CI$1;$I$15:$CI$15).

Nom : Code.png
Affichages : 127
Taille : 71,4 Ko

Je dois avouer m'arracher les cheveux sur ce coup. Je ne vois pas où se trouve mon erreur. Sachant que lorsque je modifie ma formule barbare par un bête "=2*2" ça fonctionne très bien.

N'hésitez pas si je n'ai pas été clair.

Merci de votre aide.