Bonjour,
Je ne touche plus à Excel depuis 15 ans et j'ai fait peu de calcul matriciel, mais en fonction de l'affluence actuelle sur les forums Microsoft, je vais essayer de voir si je ne pourrais pas par chance tomber sur la bonne question, qui pourrait alors aider
à trouver la réponse.
Pour commencer, si je ne m'abuse, A1:A8, ça fait une colonne, et non deux ?
J'ai fait une recherche sur l'erreur 1004, apparemment on la rencontre quand des données appelées en référence manquent (lien vers un fichier absent par exemple).
Des gens s'y sont trouvés confrontés en changeant de version d'Excel, c'est donc devenu un problème de migration. Par analogie on peut se dire que la nouvelle version a cherché à introduire de la souplesse en rendant une donnée modifiable, donc il faut qu'elle
soit définie quelque part.
Là, on cherche à modifier des données sur lesquelles sont basés des calculs matriciels. Est-ce que ça n'introduit pas un problème de cohérence ou de référence circulaire ? S'agissant d'une valeur en dur ça serait un peu étonnant, mais comme on n'a rien de
solide il ne faut se priver d'aucune conjecture.
Dans setValueInListObject je vois ça :
For Each currentRow In tableau.ListRows
i = currentRow.Index
currentRow.Range(1, colonneResultat).FormulaR1C1 = CStr(monResultat(i, 0))
Next currentRow
monResultat est un tableau de valeurs booléennes, c'est bien ça ?
Donc là on veut le convertir en chaîne de caractères, et en faire une formule pour une cellule Excel.
Qu'est-ce que ça donne, exactement, comme formule ?