Créer une formule avec Step +11

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

B

Bruno80

Guest
Bonjour

j'ai une formule dans la cellule A1 et B1

je désire créer une formule qui va copier cette formule avec un step de 11 colonne

donc A1 + 11 ensuite L11 ensuite W11

même chose avec B1 + 11

J'ai testé cela sans succès

HTML:
Sub Macro7()
'
' Macro7 Macro
'
For i = 1 To 254 Step 11

    'Range(50, i).Select
    ActiveCell.Offset(0, -11).Range("A1:B1").Select
    Selection.Copy
    ActiveCell.Offset(0, 11).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Select
    Application.CutCopyMode = False
   ' ActiveCell.FormulaR1C1 = _
       " Ma formule 1"

    ActiveCell.Offset(0, 1).Range("A1").Select
   ' ActiveCell.FormulaR1C1 = _
          " Ma formule 2"
    ActiveCell.Offset(1, 0).Range("A1").Select
    
    Next
End Sub

merci
 
Re : Créer une formule avec Step +11

Bonjour,

Je ne comprends pas la destination ...
Il faut faire la différence entre le décalage en lignes et celui qui existe en colonnes ... à tester ...
Code:
Sub Test()
Dim i As Integer
For i = 1 To 23
    Range("A1:B1").Copy Destination:=ActiveSheet.Cells(11, 11 * i)
Next
End Sub

A +
 
Re : Créer une formule avec Step +11

Bonjour Forum, Bonjour James007,

J'y suis presque le code suivant est bon, mais c'est la formule qui reste à modifier
dans les fais, cette dernière ne prend pas en considération la variable Z.

est-ce que vous auriez une solution


Sub Test()
Dim i As Integer
Dim Z As Variant

For i = 1 To 34 Step 11
Z = -48 - i
Range("A50").Select

Application.CutCopyMode = False
ActiveSheet.Cells(50, i).FormulaR1C1 = _
"=IF(Px!R[Z]C[1]<>"""",Px!R[Z]C[1]/OFFSET(Px!R1C[1],+Model!R19C,0)-1,"""")"


Next
End Sub

merci
 
Dernière modification par un modérateur:
Re : Créer une formule avec Step +11

Bonjour à tous, j'ai trouvé la façon d'inclure la variable dans la formule
" & Z & "

Mais le résultat n'est pas celui que je souhaitais
Dans les faits, avec la variable Z

je voulais avoir
Pour le premier pas: B
par la suite D
par la suite F, H, J, K

HTML:
    ActiveCell.FormulaR1C1 = _
        "=IF(Px!R[-48]C[1]<>"""",Px!R[-48]C[1]/OFFSET(Px!R1C[1],+Model!R19C,0)-1,"""")"
    Range("B50").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(Px!R[-48]C[1]<>"""",Px!R[-48]C[1]/OFFSET(Px!R1C[1],+Model!R19C[-1],0)-1,"""")"
    Range("L50").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(Px!R[-48]C[-8]<>"""",Px!R[-48]C[-8]/OFFSET(Px!R1C[-8],+Model!R19C[-11],0)-1,"""")"
    Range("M50").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(Px!R[-48]C[-8]<>"""",Px!R[-48]C[-8]/OFFSET(Px!R1C[-8],+Model!R19C[-12],0)-1,"""")"
    Range("W50").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(Px!R[-48]C[-17]<>"""",Px!R[-48]C[-17]/OFFSET(Px!R1C[-17],+Model!R19C[-22],0)-1,"""")"
    Range("X50").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(Px!R[-48]C[-17]<>"""",Px!R[-48]C[-17]/OFFSET(Px!R1C[-17],+Model!R19C[-23],0)-1,"""")"
    Range("X51").Select

Bruno80
 
Dernière modification par un modérateur:
Re : Créer une formule avec Step +11

Bonjour James,

C'est justement ce que j'était entrain de préparer 🙂

Créer une macro qui va faire un Step de 11 colonnes
mais qui dans sa formule fait Step de 1 colonne

EX: colonne A et B, (symbol A et B)

A50 =IF('P1'!B2<>"",'P1'!B2/OFFSET('P1'!B$1,+'M1'!A$19,0)-1,"")
B50= =IF('P1'!C2<>"",'P1'!C2/OFFSET('P1'!C$1,+'M1'!A$19,0)-1,"")

On fait un Step de 11 colonnes

Colonne L et M, (symbol C et D)
(dans la formules on ne fait qu'un step de 1)

L50 =IF('P1'!D2<>"",'P1'!D2/OFFSET('P1'!D$1,+'M1'!A$19,0)-1,"")
M50=IF('P1'!E2<>"",'P1'!E2/OFFSET('P1'!E$1,+'M1'!A$19,0)-1,"")

Donc, Tant qu'il y a des données dans la feuille R1, la macro continue

Bruno
 

Pièces jointes

Dernière modification par un modérateur:
Re : Créer une formule avec Step +11

Bonjour James, Bruno,

Si j'ai bien compris, test ceci:

Code:
Sub Macro1()
Dim Col As Variant, i As Integer, Lig As Integer, c As Integer
Col = Array("A", "B", "C", "D", "E", "F", "G", "H", "I")
c = 0
For i = 1 To 34 Step 11
  For j = i To i + 1
    For Lig = 50 To 54
      Cells(Lig, j).FormulaLocal = "=SI(P1!" & Col(c) & Lig - 48 & "<>"""";P1!" & Col(c) & Lig - 48 & "/DECALER(P1!" & Col(c) & "$1;M1!A$19;0)-1;"""")"
    Next
    c = c + 1
  Next
Next
End Sub
 
Re : Créer une formule avec Step +11

Bonjour Skoobi,

cette ligne de code
HTML:
Cells(Lig, j).FormulaLocal = "=SI(P1!" & Col(c) & Lig - 48 & "<>"""";P1!" & Col(c) & Lig - 48 & "/DECALER(P1!" & Col(c) & "$1;M1!A$19;0)-1;"""")"
me donne un message d'erreur: run-time error 1004
application-defined or object defined error
 
Re : Créer une formule avec Step +11

Bonjour Forum, Skoobi et James007,

J'ai essayer de changer certaine choses,
ce qui me permet de croire que c'est .FormulaLocal qui cause le problème
si vous avez des sources de solutions je suis preneur

Bruno
 
Re : Créer une formule avec Step +11

Bonjour Bruno,

dans ce cas, enlève Local et remplace SI par IF, DECALER par OFFSET et ";" par ",":
Cells(Lig, j).Formula = "=IF(P1!" & Col(c) & Lig - 48 & "<>"""",P1!" & Col(c) & Lig - 48 & "/OFFSET(P1!" & Col(c) & "$1,M1!A$19,0)-1,"""")"
 
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
402
Réponses
5
Affichages
932
Réponses
10
Affichages
802
  • Question Question
Réponses
6
Affichages
779
Retour