Refus d'une formule avec macro

Tout d'abord bonjour,

Voici mon problème. J'ai une formule qui fonctionne tout a fait correctement, je suis développeur en VB et on m'as demandé de développer une macro.

J'ai copier cette formule qui fonctionne parfaitement et je la recopie dynamiquement dans les cellules dont j'ai besoin, mais Excel refuse de copier ma formule avec le "=" devant

Lorsque j'ai fait mes essais sur le recopie de ma formule tout ce passe bien :

Feui1.Cells(i,j) =  "SI(S" & k + i - 1 & "<>" & Chr(34) & "" & Chr(34) & ";" & Chr(34) & "S" & Chr(34) & "&TEXTE(ENT((S" & k + i - 1 & "-(DATE(ANNEE(S" & k + i - 1 & "-JOURSEM(S" & k + i - 1 & "-1)+4);1;3)-JOURSEM(DATE(ANNEE(S" & k + i - 1 & " -JOURSEM(S" & k + i - 1 & "-1)+4);1;3)))+5)/7);" & Chr(34) & "00" & Chr(34) & ")&" & Chr(34) & " - " & Chr(34) & "&ANNEE(S" & k + i - 1 & ");" & Chr(34) & "Int non validée RAI" & Chr(34) & ")"

ce code recopie parfaitement ma formule dynamiquement. Pour exécuter ma formule il manque le signe = voici donc le code que j'ai développer

Feui1.Cells(i,j) =  "=" & "SI(S" & k + i - 1 & "<>" & Chr(34) & "" & Chr(34) & ";" & Chr(34) & "S" & Chr(34) & "&TEXTE(ENT((S" & k + i - 1 & "-(DATE(ANNEE(S" & k + i - 1 & "-JOURSEM(S" & k + i - 1 & "-1)+4);1;3)-JOURSEM(DATE(ANNEE(S" & k + i - 1 & " -JOURSEM(S" & k + i - 1 & "-1)+4);1;3)))+5)/7);" & Chr(34) & "00" & Chr(34) & ")&" & Chr(34) & " - " & Chr(34) & "&ANNEE(S" & k + i - 1 & ");" & Chr(34) & "Int non validée RAI" & Chr(34) & ")"

j'ai aussi essayer :

Feui1.Cells(i,j) =  "= SI(S" & k + i - 1 & "<>" & Chr(34) & "" & Chr(34) & ";" & Chr(34) & "S" & Chr(34) & "&TEXTE(ENT((S" & k + i - 1 & "-(DATE(ANNEE(S" & k + i - 1 & "-JOURSEM(S" & k + i - 1 & "-1)+4);1;3)-JOURSEM(DATE(ANNEE(S" & k + i - 1 & " -JOURSEM(S" & k + i - 1 & "-1)+4);1;3)))+5)/7);" & Chr(34) & "00" & Chr(34) & ")&" & Chr(34) & " - " & Chr(34) & "&ANNEE(S" & k + i - 1 & ");" & Chr(34) & "Int non validée RAI" & Chr(34) & ")"

Rien ne fonctionne malheureusement.

Merci d'avance

Sky

PS : Si vous avez un autre moyen de récuper le n° de la semaine dans l'année en cours, je suis preneur

Bonjour,

pas trés clair ta question,que cherches tu ?

Un exemple si j'ai compris sans VBA

https://www.excel-pratique.com/~files/doc/N_Semaine.xls

A +

salut,

essaies en mettant

Feui1.Cells(i,j).FormulaR1C1 = BLABLABLA

Je pense que ton problème vient de là.

A te lire,

Souri84

Le code à l'origine est celui là

SI(S3053<>"";"S"&TEXTE(ENT((S3053-(DATE(ANNEE(S3053-JOURSEM(S3053-1)+4);1;3)-JOURSEM(DATE(ANNEE(S3053 -JOURSEM(S3053-1)+4);1;3)))+5)/7);"00")&" - "&ANNEE(S3053);"Int non validée RAI")

Je l'ai développer pour l'écrire dynamiquement avec VB dans Excel. tout ce passe bien mis a part lorsque je veut ajouter le signe "=" devant

Mon problème est d'ajouter dans la cellule le signe "=" devant ma formule.

Merci, mais ca ne fonctionne pas

y as t il des parametres à changer ?

(comme précédement j'ai essayer avec "= SI ...." et "=" & "SI ..... ")

Essaies en mettant

Feuil1.cells(i,j) = chr(61) & "SI......"

Chr(61) est le code du signe =

Cordialement

Salut le forum

Attention le VBA ne comprends pas le francais, juste l'anglais

Si la cellule B3 doit contenir la formule suivante :

=SI(S3053<>"";"S"&TEXTE(ENT((S3053-(DATE(ANNEE(S3053-JOURSEM(S3053-1)+4);1;3)-JOURSEM(DATE(ANNEE(S3053 -JOURSEM(S3053-1)+4);1;3)))+5)/7);"00")&" - "&ANNEE(S3053);"Int non validée RAI")

Dans VBA tu devras écire ceci :

Range("B3").FormulaR1C1 = _
        "=IF(R[3050]C[17]<>"""",""S""&TEXT(INT((R[3050]C[17]-(DATE(YEAR(R[3050]C[17]-WEEKDAY(R[3050]C[17]-1)+4),1,3)-WEEKDAY(DATE(YEAR(R[3050]C[17] -WEEKDAY(R[3050]C[17]-1)+4),1,3)))+5)/7),""00"")&"" - ""&YEAR(R[3050]C[17]),""Int non validée RAI"")"

Si tu ne veux pas utiliser les référence R[x]C[y] enlève le R1C1 après le Formula

smiley 417

Merci de vos réponses :p

Alors j'ai essayer avec chr(61), sans succés, encore la même erreur

Mais la technique de Myta fonctionne parfaitement (j'ai juste adapter pour qu'elle s'écrivent dynamiquement.)

Encore Merci

Rebonjour,

J'ai a nouveau le problème pour ma colone suivante. Il ne prends pas ma formule pourtant réécris comme Mita me la proposé

Feuil5.Cells(p, 39) = "=IF(S" & p & "<>"""";MONTH(S" & p & ")&"" - ""&ANNEE(S" & p & ");""Int non validée RAI"")"

J'ai encore besoin d'un petit coup de main svp

7renouveau.xlsm (44.20 Ko)

c'est bon, j'ai trouvé, il y avais un problème de synthaxe, un ";" à la place d'une ","

Rechercher des sujets similaires à "refus formule macro"