probleme avec FormulaR1C1

Le
louis-lambert
Bonjour,
je tente d'ecrire un programme de calcul en vba, et je suis tombé plusieurs fois sur la même erreur dans le calcul.
voilà un extrait du code :

With [profil_long].Cells(1, 4)
.FormulaR1C1 = "=IF(RC[-1]<>"""",IF(RC[-1]=2," & h2 & "," & h1 & "),"""")"
.AutoFill Destination:=Range([profil_long].Cells(1, 4), [profil_long].Cells(3 * [Nb_de_travées].Value + 1, 4)), Type:=xlFillValues
End With

la plage [profil_long] correspond aux cellules (ÞF_section!$A$136:$D$166).
la plage de [Nb_de_travées] ne contient qu'une cellule dont la valeur est 6.
le code fonctionne bien, mais le problème est qu'après execution, la formule ecrite par le formulaR1C1 donne :
=SI(IV1<>"";SI(IV1=2;350;800);"")
alors qu'elle devrait donner :
=SI(C136<>"";SI(C136=2;350;800);"")
j'ai l'impression que le code confond les references relatives et absolues.
ce qui est particulierement étrange c'est que le code me donnait les bons resultats aux premiers essais, et ne marche plus maintenant.
d'où peut venir cette erreur? j'ai vraiment du mal à comprendre là. est ce qu'il y a une option à activer pour forcer l'application formulaR1C1 à fonctionner en reference relative?
merci à vous, j'espère que vous saurez me répondre
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Publicité
Poster une réponse
Anonyme