Erreur d'execution '1004' [Résolu/Fermé]

Signaler
Messages postés
212
Date d'inscription
samedi 27 juin 2009
Statut
Membre
Dernière intervention
17 mars 2018
-
 thautheme -
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

Messages postés
15391
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
25 octobre 2020
1 384
Bonjour,

Range("C2").Select
Range("AU" & ligne).Value = "=If(Or(Today()<RC[-45],RC[-45]>EoMonth(RC[-1],0)),"",If(And(RC[-45]<EoMonth(RC[-1],0),RC[-16]="",Today()<=EoMonth(RC[-1],0)),Today()-RC[-45]+1,If(And(RC[-45]<EoMonth(RC[-1],0),RC[-16]="",Ttoday()>EoMonth(RC[-1],0)),EoMonth(RC[-1],0)-RC[-45]+1,If(And(RC[-45]<EoMonth(RC[-1],0),RC[-16]<EoMonth(RC[-1],0)),RC[-16]-RC[-45]+1,If(And(RC[-45]<EoMonth(RC[-1],0),RC[-16]>EoMonth(RC[-1],0)),EoMonth(RC[-1],0)-RC[-45]+1)))))"
me aider se il vous plaît
Messages postés
1403
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
3 octobre 2020
143
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
Messages postés
212
Date d'inscription
samedi 27 juin 2009
Statut
Membre
Dernière intervention
17 mars 2018
2
Bonjour,
Merci à f894009 et aussi et surtout à ThauTheme. C'est une intervention qui me fait énormément de bien.
Cordialement