Erreur d'execution '1004'

Résolu
Bonjour,

Quand j'essaie d'exécuter le programme ci-dessous, le message Erreur d'exécution '1004' apparait.
Merci de bien vouloir m'aider.

==========================================================
Sub create_periode()
      Dim duree_annee As Integer
      duree_annee = Range("C5") - 1
    
      Range(C2).Select
    
        For i = 1 To duree_annee
    
         ActiveCell.Offset(0, 2).Select
         ActiveCell.FormulaR1C1 = "=DATE(YEAR(RC[-3]), MONTH(RC[-3])+1, DAY(RC[-3]))"
         ActiveCell.Offset(0, 3).Select
         Selection.NumberFormat = "m/d/yyyy"
         ActiveCell.FormulaR1C1 = "=EOMONTH(RC[-1],0)"
         ActiveCell.Offset(0, 2).Select
    
        Next
End Sub

==========================================================

2 réponses

  1. Bonjour iroko, bonjour le forum,

    Le problème vient du manque de guillemets dans Range(C2) : Range("C2")
    Mais je te recommande d'éviter autant que possible les Select qui ne font que ralentir l'exécution du code.

    Essaie comme ça :
    Sub create_periode()
    Dim duree_annee As Integer
    Dim J As Integer
    Dim I As Integer
    
    duree_annee = Range("C5") - 1
    J = 3
    For I = 1 To duree_annee
        Cells(2, J + 2).FormulaR1C1 = "=DATE(YEAR(RC[-3]), MONTH(RC[-3])+1, DAY(RC[-3]))"
        Cells(2, J + 5).FormulaR1C1 = "=EOMONTH(RC[-1],0)"
        Cells(2, J + 5).NumberFormat = "m/d/yyyy"
        J = J + 7
    Next I
    End Sub


    À plus,
    ThauTheme
    1. Bonjour,
      Merci à f894009 et aussi et surtout à ThauTheme. C'est une intervention qui me fait énormément de bien.
      Cordialement