Evaluate en vba

tiow

XLDnaute Nouveau
Bonjour à tous,

Je me tourne vers vous pour un problème que je ne comprends pas. Je vais quand même tenter de vous l'exposer.

Je voudrais stocker un numéro de semaine dans une variable que je calcule de la manière suivante:
Code:
Evaluate("INT(MOD(INT((F48-2)/7)+0.6,52+5/28))+1")
La cellule F48 contient 04/02/2008 donc la formule ci dessus me renvoie bien 6.

Mon problème survient quand je remplace F48 par Cells(6,48) dans ce cas j'obtient l'erreur 2015.
Sur le site de microsoft il est expliqué que cela peut survenir du fait que mon année n'est pas à 4 chiffres ou d'autre problème mais mon soucis est que F48 ou Cells(6,48) c'est la même chose ...

De plus je souhaite utilisé la syntaxe Cells(,) pour pouvoir utilisé des variable pour les lignes.

Je vous joint un fichier avec quelques test,

Merci de votre aide,
tiow
 

Pièces jointes

  • tiowdate.zip
    7 KB · Affichages: 70
  • tiowdate.zip
    7 KB · Affichages: 62
  • tiowdate.zip
    7 KB · Affichages: 67

Gruick

XLDnaute Accro
Re : Evaluate en vba

Bonjour Tiow,

En fait, dans les tests 2 et 3 tu mélanges le language vba au language excel, et donc excel trouve la syntaxe bizarre. L'introduction d'une variable vba dans la formule excel dans la formule evaluate n'est pas compatible.
Regardes l'aide qui, pour une fois, est bien expliquée.

Ne sachant pas ce que tu veux faire, tu devras choisir entièrement vba, soit formules du tableur.

Seul le test1 est adequat.

Gruick
 

Gruick

XLDnaute Accro
Re : Evaluate en vba

Hello PierreJean

Trop fort, les guillemets, je n'ai pas cherché plus loin que le bout de mon groin....

Mais je pense, si Tiow fait un programme en vba, la fonction evaluate n'est pas indispensable.

A plus,

Gruick
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Evaluate en vba

Re

Parce que je suis meilleur (lol !!!)

Plus serieusement:

Le parametre d' EVALUATE doit etre un string
A partir de la il sufit de reconstituer la formulation telle qu'elle serait mentionnée dans la formule
C'est pour cela qu'a l'emplacement ou il y avait A1 j'ai mis Cells(1,1).Address(0,0) qui vaut "A1"
 

Gruick

XLDnaute Accro
Re : Evaluate en vba

re,

Honte à moi,
La fonction modulo du vba est moins puissante que celle du tableur, elle ne prend en compte que les entiers. J'ai appris quelque chose !
C'est donc la formule du génial PierreJean qu'il faudra utiliser.

Gruick
 

pierrejean

XLDnaute Barbatruc
Re : Evaluate en vba

Re

génial , faut pas pousser !!!
ça fait quand même plaisir ..., merci Gruick :)
En attendant une fonction personnalisée en Vba pour le Numero de semaine (Europe)
 

Pièces jointes

  • tiowdate.zip
    7.5 KB · Affichages: 103
  • tiowdate.zip
    7.5 KB · Affichages: 102
  • tiowdate.zip
    7.5 KB · Affichages: 105

Discussions similaires

Réponses
12
Affichages
284
Réponses
5
Affichages
235

Statistiques des forums

Discussions
312 380
Messages
2 087 820
Membres
103 665
dernier inscrit
gjoanou