Optimiser la vitesse d'une petite macro (Copier-coller)

bloomby

XLDnaute Occasionnel
Bonjour à tous,

J'utilisais une macro qui était non conditionnelle ("B200:AO200") ...

Maintenant grâce à plusieurs collaborateurs je suis en mesure de créer des macros en fonction de certaines variables conditionnelles (i)...

Par contre, je remarque que cette dernière est moins rapide que la précédente.

ci-dessous (le code conditionnel, idéal, mais moins rapide)

Sub Formules1()
Dim f As Worksheet: Dim f2 As Worksheet
Dim formule As String: Dim i: Dim fin As Range
Set f = ThisWorkbook.Sheets("P1")
Set f2 = ThisWorkbook.Sheets("Data1")


f.Range("B200").CurrentRegion.ClearContents

formule = _
"=IF(Data1!R[-197]<>"""",Data1!R[-197]C/DATA1!R[-198]C,"""")"


For i = 2 To Evaluate(ActiveWorkbook.Names("NbSymbol").Value)
Set fin = f2.Cells(65536, i).End(xlUp).Offset(-1, 0)
f.Range(f.Cells(200, i), _
fin.Address).FormulaR1C1 = formule
Next
End Sub

J'aimerais savoir de quelle façon je pourrais faire pour modifier la prochaine macro de sorte quel soit conditionnelle, mais qui demeure sous cette forme étant donné que cela est plus rapide (aucun i )
bref, les valeurs qui devraient être conditionnelle sont en rouge

Sub FormulesZ()

Application.ScreenUpdating = False

Sheets("Data (1)").Select

Range("B200").Select
ActiveCell.FormulaR1C1 = "=IF(DATA!RC<> """",DATA!RC/DATA!R[1]C,"""")"
Range("B200").Select
Selection.AutoFill Destination:=Range("B200:AO200"), Type:=xlFillDefault
Range("B200:AO200").Select
Selection.AutoFill Destination:=Range("B200:AO600"), Type:=xlFillDefault
Range("B200:AO600").Select

'Formule Date
Range("A200").Select
ActiveCell.FormulaR1C1 = "=IF(DATA!RC<> """",DATA!RC,"""")"
Range("A200").Select
Selection.AutoFill Destination:=Range("A200:A600"), Type:=xlFillDefault
Range("A200:A600").Select

Range("A1").Select

Application.ScreenUpdating = True

End Sub

merci
 

Discussions similaires

Statistiques des forums

Discussions
314 055
Messages
2 105 103
Membres
109 266
dernier inscrit
bray alice