variable et boucle dans une formule

  • Initiateur de la discussion Initiateur de la discussion pascal82
  • 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 !

pascal82

XLDnaute Occasionnel
Bonjour à tous et à toutes,

C’est probablement une question bête, mais je coince sur une boucle. Je n’arrive pas à intégrer une variable dans une formule.
La formule qui se trouve en GE4 =DL4+DL6+DL8 : en VBA "=RC[-71]+R[2]C[-71]+R[4]C[-71]"
lorsque la variable s’incrémente de 1 alors GE4 =DM4+DM6+DM8 : en VBA "=RC[-70]+R[2]C[-70]+R[4]C[-70]"
Je joins l’extrait de code
Code:
Sub Macro5()
Dim M&

For M = 1 To 3

    Range("GE4").FormulaR1C1 = "=RC[-71]+R[2]C[-71]+R[4]C[-71]" 'GE4=DL4+DL6+DL8
    Range("GE5").FormulaR1C1 = "=RC[-71]+R[1]C[-71]+R[3]C[-71]" 'GE5=DL5+DL6+DL8
    'Je veux, lorsque M =2 alors GE4=DM4+DM6+DM8 soit GE4= RC[-70]+R[2]C[-70]+R[4]C[-70]
    '                             GE5=DM5+DM6+DM8 soit GE4= RC[-70]+R[1]C[-70]+R[3]C[-70]
    
    Range("GF4").FormulaR1C1 = "=RC[-72]+R[2]C[-72]" 'GF4=DL4+DL6
    Range("GF5").FormulaR1C1 = "=RC[-72]+R[1]C[-72]" 'GF5=DL5+DL6
    'Je veux, lorsque M =2 alors GF4=DM4+DM6 soit GF4=RC[-71]+R[2]C[-71]
    '                             GF5=DM5+DM6 soit GF5=RC[-71]+R[1]C[-71]
    
    Range("GG4").FormulaR1C1 = "=RC[-73]+R[2]C[-73]+R[3]C[-73]" 'GG4=DL4+DL6+DL7
    Range("GG5").FormulaR1C1 = "=RC[-73]+R[1]C[-73]+R[2]C[-73]" 'GG5=DL5+DL6+DL7
    'Je veux, lorsque M =2 alors GG4=DM4+DM6+DM7 soit GG4=RC[-72]+R[2]C[-72]+R[3]C[-72]
    '                             GG5=DM5+DM6+DM7 soit GG5=RC[-72]+R[1]C[-72]+R[2]C[-72]
    
    Range("GE5:GG5").Select
    Selection.AutoFill Destination:=Range("GE5:GG6081"), Type:=xlFillDefault
    Range("GE5:GG6081").Select
    
    'copie des resultats
    Range("GR4:GR5").Offset(0, M - 1).Value = Range("GJ4:GJ5").Value
    Range("GR7:GR8").Offset(0, M - 1).Value = Range("GK4:GK5").Value
    Range("GR10:GR11").Offset(0, M - 1).Value = Range("GL4:GL5").Value
    
    Next M
    
End Sub
Merci pour votre aide
 
Re : variable et boucle dans une formule

Bonjour
Sub Macro5()
Dim M, Mavar As Integer

For M = 1 To 3
Mavar = 71 - (M - 1)
Range("GE4").FormulaR1C1 = "=RC[" & -Mavar & "] +R[2]C[" & -Mavar & "] +R[4]C[" & -Mavar & "]" 'GE4=DL4+DL6+DL8
Range("GE5").FormulaR1C1 = "=RC[" & -Mavar & "]+R[1]C[" & -Mavar & "]+R[3]C[" & -Mavar & "]" 'GE5=DL5+DL6+DL8
'Je veux, lorsque M =2 alors GE4=DM4+DM6+DM8 soit GE4= RC[-70]+R[2]C[-70]+R[4]C[-70]
' GE5=DM5+DM6+DM8 soit GE4= RC[-70]+R[1]C[-70]+R[3]C[-70]
Mavar = 72 - (M - 1)

Range("GF4").FormulaR1C1 = "=RC[" & -Mavar & "]+R[2]C[" & -Mavar & "]" 'GF4=DL4+DL6
Range("GF5").FormulaR1C1 = "=RC[" & -Mavar & "]+R[1]C[" & -Mavar & "]" 'GF5=DL5+DL6
'Je veux, lorsque M =2 alors GF4=DM4+DM6 soit GF4=RC[-71]+R[2]C[-71]
' GF5=DM5+DM6 soit GF5=RC[-71]+R[1]C[-71]
Mavar = 73 - (M - 1)

Range("GG4").FormulaR1C1 = "=RC[" & -Mavar & "]+R[2]C[" & -Mavar & "]+R[3]C[" & -Mavar & "]" 'GG4=DL4+DL6+DL7
Range("GG5").FormulaR1C1 = "=RC[" & -Mavar & "]+R[1]C[" & -Mavar & "]+R[2]C[" & -Mavar & "]" 'GG5=DL5+DL6+DL7
'Je veux, lorsque M =2 alors GG4=DM4+DM6+DM7 soit GG4=RC[-72]+R[2]C[-72]+R[3]C[-72]
' GG5=DM5+DM6+DM7 soit GG5=RC[-72]+R[1]C[-72]+R[2]C[-72]

Range("GE5:GG5").Select
Selection.AutoFill Destination:=Range("GE5:GG6081"), Type:=xlFillDefault
Range("GE5:GG6081").Select

'copie des resultats
Range("GR4:GR5").Offset(0, M - 1).Value = Range("GJ4:GJ5").Value
Range("GR7:GR8").Offset(0, M - 1).Value = Range("GK4:GK5").Value
Range("GR10:GR11").Offset(0, M - 1).Value = Range("GL4:GL5").Value
Next M

End Sub
a+
jp
 
Dernière édition:
- 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

N
Réponses
17
Affichages
3 K
ninajams
N
P
Réponses
4
Affichages
1 K
pompier83
P
G
Réponses
10
Affichages
1 K
golfeur01
G
M
Réponses
2
Affichages
1 K
M
H
Réponses
2
Affichages
38 K
H
T
Réponses
4
Affichages
2 K
Titi91
T
S
Réponses
11
Affichages
3 K
solobomb
S
B
  • Question Question
Réponses
10
Affichages
3 K
Benwill153
B
Retour