FormulaR1C1
Résolu
Bonjour,
En ayant fait ma macro à la main, c'est-à-dire en enregistrant ma macro pas à pas, je me retrouve avec ce code à un moment donné :
je me demandais est ce qu'il n'y aurai pas une manière plus simple de l'écrire et comment s'il vous plait, car de plus en balayant les différents forums, les select m'ont l'air inutile, n'est ce pas ?
Etant débutant dans la programmation VBA, soyez indulgent s'il vous plaît !!
Merci d'avance de vos réponses.
En ayant fait ma macro à la main, c'est-à-dire en enregistrant ma macro pas à pas, je me retrouve avec ce code à un moment donné :
Range("AC2").Select
ActiveCell.FormulaR1C1 = "=IF(AND(RC[-7]<>""#"",RC[-7]<>""Non OK""),RC[-7],RC[-2])"
Selection.AutoFill Destination:=Range("AC2:AC" & (nombre_lignes))
Range("AD2").Select
ActiveCell.FormulaR1C1 = "=IF(AND(RC[-18]<>""#"",RC[-18]<>""Non OK""),RC[-18],RC[-2])"
Selection.AutoFill Destination:=Range("AD2:AD" & (nombre_lignes))
je me demandais est ce qu'il n'y aurai pas une manière plus simple de l'écrire et comment s'il vous plait, car de plus en balayant les différents forums, les select m'ont l'air inutile, n'est ce pas ?
Etant débutant dans la programmation VBA, soyez indulgent s'il vous plaît !!
Merci d'avance de vos réponses.
1 réponse
-
Bonjour,
Si la feuille active est la bonne:With Range("AC2") .FormulaR1C1 = "=IF(AND(RC[-7]<>""#"",RC[-7]<>""Non OK""),RC[-7],RC[-2])" .AutoFill Destination:=Range("AC2:AC" & (nombre_lignes)) End With With Range("AD2") .FormulaR1C1 = "=IF(AND(RC[-18]<>""#"",RC[-18]<>""Non OK""),RC[-18],RC[-2])" .AutoFill Destination:=Range("AD2:AD" & (nombre_lignes)) End With