XL 2013 VBA Boucle FormulaR1C1

  • Initiateur de la discussion Initiateur de la discussion Mah
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mah

XLDnaute Nouveau
Bonjour,

Je débute en programmation VBA et je rencontre un problème.
Je veux faire une boucle avec FormulaR1C1 mais lorsque je code il me dit "erreur de syntaxe". Je cherche désespéramment une solution, j'ai fais tous les forums possibles mais je ne trouve pas.

Voici mon code :

Code:
    Sub Equation()

    Dim i As Integer
    Dim LastLig As Long
   
    LastLig = Range("C1").End(xlDown).Row     

    
    
    For i = 2 To LastLig   
       
    Range("E" & i).FormulaR1C1 = "=SUM(SQRT((R[" & i & "]C[3]-R[" & i & "]C[1])^2+(R[" & i & "]C[4]-R[" & i & "]C[2])^2)),SQRT((R[" & i & "]C[3]-R[" & i & +1"]C[1])^2+(R[" & i & "]C[4]-R[" & i & +1"]C[2])^2), SQRT((R[" & i & "]C[3]-R[" & i & +2"]C[1])^2+(R[ " & i & "]C[4]-R[" & i & +2"]C[2])^2)))"
    
    
      
    Next
    
End Sub
 
Re : VBA Boucle FormulaR1C1

Bonjour,

Pas sûr de savoir t'aider mais....

déjà , fais un test sur: LastLig = Range("C1").End(xlDown).Row et regarde ce qui est répondu en mettant la souris dessus 🙂

tu commences fort pour un début 🙂 🙂

tu n'as pas la formule de feuille excel pour voir ?
 
Dernière édition:
Re : VBA Boucle FormulaR1C1

C'est un projet que j'ai pour mon école d'ingénieur. C'est basé sur le problème Opaque Forest, en gros une minimisation de trajet.

Pour la feuille excel c'est ça :

C'est un peu brouillon, j'ai commencé il y a quelques semaines seulement
 

Pièces jointes

Re : VBA Boucle FormulaR1C1

Pour ce qui est de la formule donnée par excel c'est ça :

ActiveCell.FormulaR1C1 = "=SUM(SQRT((R[2]C[3]-R[2]C[1])^2+(R[2]C[4]-R[2]C[2])^2)),SQRT((R[2]C[3]-R[3]C[1])^2+(R[2]C[4]-R[3]C[2])^2), SQRT((R[2]C[3]-R[4]C[1])^2+(R[2]C[4]-R[4]C[2])^2)))"

Sans indice variable ça marche très bien, mais dès que je veux faire une boucle il me dit "erreur de syntaxe"
 
Re : VBA Boucle FormulaR1C1

Bonjour à tous,

Peux-tu essayer ceci :
Code:
Cells(i, 5).Formula = "=SUM(SQRT((RC[-2]-RC[-4])^2+(RC[-1]-RC[-3])^2),SQRT((RC[-2]-R[1]C[-4])^2+(RC[-1]-R[1]C[-3])^2),SQRT((RC[-2]-R[2]C[-4])^2+(R[1]C[-1]-R[2]C[-3])^2))"

A+ à tous
 
Re : VBA Boucle FormulaR1C1

Bonsoir.

Personnellement pour présenter une formule ou construire la FormulaR1C1 correspondante à l'intention d'un demandeur, je la mets au point dans Excel et j'affiche cet UserForm. Il envoie ce qu'il montre dans le presse papier, je n'ai plus qu'à coller dans ma réponse. C'est très pratique.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
697
Réponses
8
Affichages
645
Réponses
8
Affichages
267
Réponses
5
Affichages
465
Réponses
10
Affichages
517
Retour