Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Adapter une formule dans une macro

  • Initiateur de la discussion Initiateur de la discussion Lio59
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lio59

XLDnaute Nouveau
Bonjour,

Je souhaite attribuer à une variable la formule NUM.SEMAINE (formule permettant de calculer le numéro de semaine en norme européenne).
L'enregistrement d'une macro me donne ceci : formule du site

N° de semaine norme européenne | www.excelabo.net

ActiveCell.FormulaR1C1 = _
"=INT((RC[-1]-(DATE(YEAR(RC[-1]-WEEKDAY(RC[-1]-1)+4),1,3)-WEEKDAY(DATE(YEAR(RC[-1]-WEEKDAY(RC[-1]-1)+4),1,3)))+5)/7)"

Quelle serait la syntaxe pour attribuer cette formule à une variable
dim test as integer
test = ActiveCell.FormulaR1C1 = _
"INT((A47-(DATE(YEAR(A47-WEEKDAY(A47-1)+4),1,3)-WEEKDAY(DATE(YEAR(A47-WEEKDAY(A47-1)+4),1,3)))+5)/7) 'cela ne fonctionne pas...

Auriez-vous une idée, je sèche depuis longtemps...

Merci
 
Re : Adapter une formule dans une macro

Bonjour,

en supposant ta date dans la cellule A1, tu peux modifier ainsi :

Code:
test = DatePart("ww", [A1], 2, 2)

et pour la semaine du jour :

Code:
test2 = DatePart("ww", Date, 2, 2)
 
Re : Adapter une formule dans une macro

Merci
Mais je ne veux pas afficher le résultat dans une cellule mais l'attribué à une variable qui sera additionnée avec autre chose. Seul le résultat final devra être affiché
Merci
 
Re : Adapter une formule dans une macro

Re-,

je ré-explique....

Tu as une date dans une cellule quelconque....(Admettons, la cellule A1)

Code:
test = DatePart("ww", [A1], 2, 2)

te donne le numéro de la semaine de cette date...

Tu n'as aucune date, nulle part, mais tu veux calculer le numéro de la semaine d'aujourd'hui...

Code:
test2 = DatePart("ww", Date, 2, 2)

te donne le numéro de semaine de ce jour....

Et tes 2 données, "test" et "test2" sont des variables type Byte....

Au plaisir
 
Re : Adapter une formule dans une macro

Merci bhbh... désolé de n'avoir pas cru en cette formule... oui, il semble qu'elle réponde à ce que je cherche.... hé bien j'ai passé beaucoup de temps à résoudre ce soucis! Cependant une question à propos de cette syntaxe.

Pourquoi ce code, cette fonction répond elle au système de numéro de semaine européen ?
Alors que la formule NO.SEMAINE répond à la norme US. Pour ne pas utiliser cette dernière il faut télécharger un fichier zip intitulé morefunc qui contient la formule NUM.SEMAINE (norme EURO) ou utiliser la très longue formule écrite dans mon premier message....

En tous les cas, j'ai effectué quelques tests de dates, cela semble être bon!

Encore merci!
 
Re : Adapter une formule dans une macro

RE,

j'ai fait un test entre le 01/01/1901 et le 01/01/2500....

et ta formule (juste), et la mienne (???), ben....

elles donnent exactement le même résultat...

Ce qui importe, c'est le dernier 2...

Regarde ce que dit l'aide, et notamment, ce qui est en rouge...

 
Re : Adapter une formule dans une macro (résolu)

Merci pour ta réponse. Je ne pensais pas que l'explication des semaines pouvait se trouver dans l'aide.... là j'ai honte.... merci beaucoup pour votre simplicité de réponse et vos explications!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
773
Réponses
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…