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
14980
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 février 2020
1 217
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
4631
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
10 février 2020
121
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
iroko45
Messages postés
212
Date d'inscription
samedi 27 juin 2009
Statut
Membre
Dernière intervention
17 mars 2018
1
Bonjour,
Merci à f894009 et aussi et surtout à ThauTheme. C'est une intervention qui me fait énormément de bien.
Cordialement