Modifier formule en VBA pour lignes différentes

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 !

Emini2017

XLDnaute Nouveau
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...

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

HELP. Mercii 🙂
 
- 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
495
Réponses
7
Affichages
547
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
997
Réponses
1
Affichages
662
Retour