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é :
 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

  1. 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
    
    1