Simplifier une macro

Bonjour

Quelqu'un peut-il me simplifier cette macro,en plus il y a un beug

Sur cette ligne ( Selection.AutoFill Destination:=Range("R3:R18"), Type:=xlFillDefault)

D'avance je vous remercie

Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("R3:R18"), Type:=xlFillDefault
    Range("R3:R18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("V3:V18"), Type:=xlFillDefault
    Range("V3:V18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("AA3:AA18"), Type:=xlFillDefault
    Range("AA3:AA18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("AE3:AE18"), Type:=xlFillDefault
    Range("AE3: AE18").Select

     ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("AJ3:AJ18"), Type:=xlFillDefault
    Range("AJ3:AJ18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("AN3:AN18"), Type:=xlFillDefault
    Range("AN3:AN18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("AS3:AS18"), Type:=xlFillDefault
    Range("AS3:AS18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("AW3:AW18"), Type:=xlFillDefault
    Range("AW3: AW18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("BB3:BB18"), Type:=xlFillDefault
    Range("BB3:BB18").Select

    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Selection.AutoFill Destination:=Range("BF3:BF18"), Type:=xlFillDefault
    Range("BF3: BF18").Select

  End Sub
    

Bonjour

exemple pour V3 à V18.

Si au lieu de ceci

ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
Selection.AutoFill Destination:=Range("V3:V18"), Type:=xlFillDefault
Range("V3:V18").Select

Vous faites ceci

Range("V3:V18").FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"

A modifier sur chaque ligne

Cordialement

Bonjour Dan

merci pour ton aide

Je mets en place et je te tiens au courant

Bonne journée

On peut faire plus court. Comme ceci

Sub Macro1()

Dim Lig As Byte, Col As Byte
Lig = 18
Col = 18

Do Until Col > 58
    Range(Cells(3, Col), Cells(Lig, Col)).FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Range(Cells(3, Col + 4), Cells(Lig, Col + 4)).FormulaR1C1 = "=IF(RC[-1]=""X"",0,"""")"
    Col = Col + 9
Loop
end sub

Merci pour les réponses

Je me retrouve avec un problème dans un autre tableau #VALEUR#

J'ai résolu les problèmes avec une MFC dans chaque colonne concernée .

Bonne journée

Rechercher des sujets similaires à "simplifier macro"