FormulaR1C1

Résolu
xszma Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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