RC[-27] ------ erreur 1004

Bonjour,

j'ai un petit soucis au niveau de l'incrustation d'une formule dans une de mes cellules.

Lorsque je fais ça :

ActiveCell.FormulaR1C1Local = "=ENT((RC[-27]+5-SOMME(MOD(DATE(ANNEE(RC[-27]-MOD(RC[-27]-2;7)+3);1;2);{1E+99;7})*{1;-1}))/7)"

Il me met l'erreur :

erreur d'execution 1004

Mais si je remplace les RC[-27] par J2 (sa cellule destination) tout fonctionne bien, mais pas pratique. Pourriez vous m'aider s'il vous plait.

Code complet :

    Sheets("DATA").Select
    'efface d'abord les colonnes
    Columns("AK:AM").Select
    Selection.ClearContents
    'Mettre les titres
    Range("AK1").Select
    ActiveCell.FormulaR1C1 = "Sem DDS"
    Range("AK2").Select
    'ActiveCell.FormulaR1C1 = "=NO.SEMAINE(RC[-27])"
    ActiveCell.FormulaR1C1Local = "=ENT((RC[-27]+5-SOMME(MOD(DATE(ANNEE(RC[-27]-MOD(RC[-27]-2;7)+3);1;2);{1E+99;7})*{1;-1}))/7)"
    Range("AK3").Select
    Range("AL1").Select
    Selection.NumberFormat = "General"
    ActiveCell.FormulaR1C1 = "Sem DFS"
    'Mise en forme des titres
        With ActiveCell.Characters(Start:=1, Length:=7).Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With

EDIT : je viens uniquement de m'en rendre compte mais après lorsque je lance le code avec :

=ENT((J2+5-SOMME(MOD(DATE(ANNEE(J2-MOD(J2-2;7)+3);1;2);{1E+99;7})*{1;-1}))/7)

Il m'inscrit réellement dans ma cellule :

=ENT(('J2'+5-SOMME(MOD(DATE(ANNEE('J2'-MOD('J2'-2;7)+3);1;2);{1E+99;7})*{1;-1}))/7)

Il rajoute des guillements après mes J2. Je l'ai toujours bien traité cette formule ! Je l'ai nourri, logé ... et c'est comme ça qu'elle me rend son amour !

Merci beaucoup et une bonne journée.

Bonjour,

N'essaies-tu pas de reproduire la fonction pour le numéro de semaine ISO?

Cdlt

Oui oui j'essaye de connaitre le numéro de semaine et comme NO.SEMAINE() ou WeekNum ne fonctionne pas j'essaye de rentrer directement une formule dans les cellules qui vont me faire le même travail.

Cependant ça n'a pas l'air de fonctionner correctement ^^

Re,

A te relire.

Option Explicit
Public Sub test()
Dim Ws As Worksheet
    Application.ScreenUpdating = False
    Set Ws = Worksheets("DATA")
    With Ws
    'efface d'abord les colonnes
        .Columns("AK:AM").ClearContents
    'Mettre les titres
        .[AK1] = "Sem DDS"
    ' Solution 1 - num semaine
    ' .[AK2].FormulaR1C1 = "=NO.SEMAINE(RC[-27])"
    ' Solution 2 - num semaine ISO
        .[AK2].FormulaR1C1 = _
        "=INT((RC[-27]-SUM(MOD(DATE(YEAR(RC[-27]-MOD(RC[-27]-2,7)+3),1,2),{1E+99;7})*{1;-1})+5)/7)"
    ' Solution 3 - num semaine ISO
    '.[AK2].FormulaR1C1 = _
     "=INT(MOD(INT((RC[-27]-2)/7)+0.6,52+5/28))+1"
    'Range("AK3").Select
        .[AL1] = "Sem DFS"
    'Mise en forme des titres
        With .[AL1].Characters(Start:=1, Length:=7).Font
            .Name = "Arial"
            .FontStyle = "Gras"
            .Size = 10
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
    End With
    Set Ws = Nothing
End Sub

Bonjour, pour commencer j'ai avancé merci beaucoup je ne suis plus bloqué sur le soucis, mais lorsque j'applique votre méthode il me marque ceci dans mes cellules :

16/01/1900 00:00

au lieux du numéro de semaine.

Encore merci de votre aide !!!

Re,

As-tu pensé à vérifier le format nombre de ta cellule?

J'ai reproduit ton code chez moi et je n'ai pas ce souci

Cdlt

Ah oui merci beaucoup.

Par contre je voudrais faire en sorte que toutes la colonne bénéfici de ce calcul, comment je peux m'y prendre svp

Re,

Merci de joindre un fichier.

Cdlt

Le fichier est beaucoup trop volumineux je ne peux pas vous le transmettre.

Ce que je veux dire c'est que j'aimerai mettre cette formule pas uniquement en AK2 mais sur toute la colonne AK.

Rechercher des sujets similaires à "erreur 1004"