Bonjour,
J'ai besoin d'écrire la formule
Form21 = "=Max(IF((Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J6)*(Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J7)>0,"""",Temp_" & Cells(1, 1) & "!" & Cells(10, Colonne) & "10:" & Cells(10, Colonne) & Cells(12, 2) + 9 & "))" _
& "-Min(IF((Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J6)*(Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J7)>0,"""",Temp_" & Cells(1, 1) & "!" & Cells(10, Colonne) & "10:" & Cells(10, Colonne) & Cells(12, 2) + 9 & "))"
Cells(21, Colonne).FormulaArray = Form21
Quand je ne mets que le max, ça marche
Form21 = "=Max(IF((Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J6)*(Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J7)>0,"""",Temp_" & Cells(1, 1) & "!" & Cells(10, Colonne) & "10:" & Cells(10, Colonne) & Cells(12, 2) + 9 & "))"
Cells(21, Colonne).FormulaArray = Form21
Quand je ne mets que le min, ça marche
Form21 = "-Min(IF((Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J6)*(Temp_" & Cells(1, 1) & "!B10:B" & Cells(12, 2) + 9 & "-J7)>0,"""",Temp_" & Cells(1, 1) & "!" & Cells(10, Colonne) & "10:" & Cells(10, Colonne) & Cells(12, 2) + 9 & "))"
Cells(21, Colonne).FormulaArray = Form21
Quand je mets la différence, ça bugge.
Quand j'écris la formule à la main et que je valide, ça passe. Quand j'utilise l'enregistreur de macro, il écrit la même chose, ça passe mais ensuite quand je relance ce qu'il a écrit, ça bugge ...
L'intérêt est de ne plus utiliser la fonction INDIRECT qui alourdit et ralenti le fichier et qui a besoin d'avoir les sources ouvertes pour garder le résultat.