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)
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
merci
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