Bonjour,
La solution est de définir quelle type de données tu attribue à la cellule.
Par exemple, lorsque tu veux lui attribuer du texte tu écris :
Cells(1,1).text = "ici_ton_texte"
Et donc, lorsque tu veux lui attribuer une formule, tu écriras :
Cells(1,1).Formula = "=D1*D2"
Dans ton cas, c'est un peu plus compliqué puisque tu veux par ta macro définir les cellules qui seront attribuée. Tu peux le faire en concaténant des morceaux de chaïne avec la valeur de l'adresse des cellules voulues (Cells(m,1).address par ex). Cette adresse est obtenue simplement par la propriété address avec les arguments nécéssaire (LigneAbsolue,ColonneAbsolue,....). L'aide excel te donneras plus de détail à ce sujet. Les deux premier son par défaut à true pour obtenir l'adresse en mode absolu (adresse du type $A$1). Il te suffit de les mettre à False pour obtenir une adresse non absolue (A1 donc). Si tu choisis une adresse référencielle, les arguments suivant sont nécéssaires.
Voici pour résoudre ta ligne de code ce qu'il faut taper :
Cells(i, 1).Formula = "=" & Cells(m, 3).Address(False, False) & "+D1*(" & perc1 & "+" & perc2 & ")*71*" & tampon & "/100000"
Bonne chance,
Partager