Bonjour à tous!
Ça fait plusieurs jours que j'essaie de résoudre mon problème et je ne trouve aucune solution dans aucun forum... alors j'ai décidé de demander aux experts
Voila, c'est que j'ai pour au dessus de 100 000 lignes de formules à changer en ajoutant une partie de code au début et à la fin et chacune de ces lignes sont différentes.. alors je ne peux donc pas imbriquer mon code pour qu'il se met automatiquement sur chaque ligne.
Voici à quoi ressemble mes lignes:
=MOYENNE(SI(S2014645A!$MO$5:$MO$8490=1;SI(S2014645A!$E$5:$E$8490="m";SI(S2014645A!$G$5:$G$8490>=40;SI(S2014645A!$G$5:$G$8490<50;S2014645A!$S$5:$S$8490;"");"");"");""))
Les parties en rouges changent pour chaque ligne (m=masculin et f=féminin et 40 et 50 sont des intervalles d'âges) et la partie en bleu change à chaque 50 lignes environs (ce sont des catégorie).
Je veux changer ces lignes pour rajouter ceci:
=MOYENNE(SI(S2014645A!$MO$5:$MO$8490=1;SI(S2014645A!$H$5:$H$8490=1;SI(S2014645A!$E$5:$E$8490="m";SI(S2014645A!$G$5:$G$8490>=40;SI(S2014645A!$G$5:$G$8490<50;S2014645A!$S$5:$S$8490;"");"");"");"");"")).
Voici le code que j'ai essayé de faire mais j'ai toujours un message d'erreur 1004 à cause du ";".. (D’où la raison pour laquelle j'ai décidé de mettre la nouvelle section dans une variable maVal... et je ne suis même pas rendu à mettre le " ;"") " encore car le premier ajout ne fonctionne pas...
HELP. Mercii
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Sub Macro2() Dim i As Single Dim sht As Worksheet Dim maVal As String maVal = ";SI(S2014645A!$H$5:$H$8490=1" Set sht = ThisWorkbook.Worksheets("MÉD RMB") With sht For i = 1 To 49 (*J'essaie pour l'instant que les 50 premières lignes pour être sur que ça fonctionne) ' .Cells(i, 5).Formula = .Cells(i, 4).Formula .Range("E49").FormulaLocal = Replace(.Range("E49").FormulaLocal, "(SI(S2014645A!$MO$5:$MO$8490=1", "(SI(S2014645A!$MO$5:$MO$8490=1" & maVal) (Ici je n'essaie qu'avec une cellule pour voir mais je devrais mettre .Cell(i,5).FormulaLocal ... sauf si vous me dite que ça ne fonctionne pas) ' .Range("E49").FormulaArray = .Range("E49").FormulaLocal Next i End With End Sub![]()
Partager