![]() |
|
Forum
|
|
|
#16 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Re et bonne nuit
Edition du 27/03/08 : voila la correction du code qui semble fonctionner Code:
Sub evaluer_expressions()
'... début de la macro
rNg = Split("A1~A2~A3~A4~A5~A6~A7~A8~A9~A10", "~")
Application.ScreenUpdating = False
For i = 0 To 9
ss(i) = Range(rNg(i)).Text
ff(i) = i
OK = Funct.StoreExpression(ss(i))
If Not OK Then GoTo Error_Handler
ff(i) = Funct.Eval
Next i
Range("B1:B10") = Application.Transpose(ff)
' ... reste de la macro
End sub
Code:
Sub test_i() ' macro ou je demande votre aide,amis forumeurs.
Dim OK As Boolean:Dim ss(8) As Variant
Dim retval As Double:Dim i As Long
Dim f As Double:Dim Funct As New clsMathParser
rNg = Split("A1~A2~A3~A4~A5~A6~A7~A8~A9", "~")
For i = LBound(rNg) To UBound(rNg)
ss(i) = Range(rNg(i)).Text
OK = Funct.StoreExpression(ss(i))
If Not OK Then GoTo Error_Handler
retval = Funct.Eval
MsgBox retval
Next
Error_Handler:
Debug.Print Err.Description
End Sub
La macro Sub test_ii() (cf. module staple_jeu) fonctionne , mais le code VBA =7 8 lignes. Donc voir, svp, la pièce jointe de mon message de : 04h24 , en vous souhaitant une bonne nuit . Et espérant vous lire, demain car je me sens un peu seul dans ce post )
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 27/03/2008 à 19h04. |
|
|
|
| ANNONCES | |||
|
|
|
|
#17 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonjour à tous
dernier message: En attendant de vous lire, bonne soirée à tous. +++++++++++++++++++++++++++++++++++++ Petit récapitulatif: -premières ébauches (non satisfaisantes) et n'utilisant pas le module de classe. Anciennes versions :cassetete_xv1_v2.zip
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 27/03/2008 à 19h08. |
|
|
|
|
|
#18 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 27/03/2008 à 19h07. |
|
|
|
|
|
#19 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: octobre 2005
Localisation: pas loin de Montauban (82)
Messages: 994
|
Salut Staple et les 1600 autres lecteurs.
Pour ne pas te laisser à tes plaisirs solitaire(avec ou sans s) : + , -, *, / et trois autres (que je vous laisse chercher) Pourquoi « trois » ? Sqr(9) peut se remplacer par 9 ^ (1/2) ou par 9 ^ 0.5 (si le séparateur décimal est autorisée*, les parenthèses l’étant). ( en utilisant 1 fois chaque chiffre par ligne) : Ici 2*3*(9-8)*(7-6)*(5-4)*sqr(1+0), c’est le cas; mais pas là sqr(9)*sqr(9)- sqr(9) ! *D’ailleurs est-ce chiffre ou nombre ? Le nombre deux s’écrit avec 1 chiffre tandis que le nombre dix s’écrit avec 2 chiffres. Peut-on utilser 10 ? Pour être moins rigoureux sur le plan de la sémantique mais plus sur le plan Excel, ta ligne Cells(i,1).Text=Funct.Eval pose problème car i commence à 0 (premier indice pour n’importe quel tableau d’une dimension mais surtout pas numéro de ligne). Essaie avec Cells(i+1,1).Text=Funct.Eval. Dernière remarque : dans ce fichier, la lecture des codes m’est indigeste. D’où mon peu d’empressement à l’étudier et une réponse tardive, peut-être, non satisfaisante. Bonne journée à tous
__________________
πr… « Que vivre en bonne intelligence avec les autres » soit toujours de rigueur. |
|
|
|
|
|
#20 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonjour Excel_lent, bonjour à tous
Merci de ta réponse (cela fait plaisir , je me sens moins seul )A force de tests et d'essai j'ai trouvé une solution qui semble fonctionner. J'espère que tu voudras tester le fichier (ainsi que ceux-ci que ce classeur intèresserait) et me laisser des commentaires et conseils. ---> Excel_lent Citation:
lisibles dans le code VBA. EDITION :La dernière version à une correction du code de la macro : Sub test_i() renommée dans cette version : evaluer_expressions
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 27/03/2008 à 19h26. Motif: Mise en ligne de la dernière version |
|
|
|
|
|
|
#21 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Re à tous
Edition: Le fichier est ici: Pièce jointe 81072 Citation:
Le but est d'arriver à trouver 6 comme résultat en utilisant les chiffres de 0à 9 en utilisant les opéateurs mathématiques suivant : +, -, *, / et pour certains cas : racine carrée, racine cubique et factorielle La zone de saisie est dans la plage A1:A10. Dans chaque cellule on ne peut utiliser que trois chiffres (et utiliser 1 chiffre 1 fois, soit n'utiliser que 3 chiffres par cellule pour les calculs) Exemple en A1: on ne peut utiliser que 0 Donc: (0!+0+!+0!)! --> Ok Mais 0!+0!+0!+0!+0!+0! n'est pas bon (même si le résultat donne 6) Car le zéro est utilisé plus de 3 trois. (2) Ici c'est bon car tu as utilisé le 9 trois fois (3) Dans le classeur je me suis arrêté à 9 Rappel: A1: on ne utiliser que trois 0 A2: on ne utiliser que trois 1 A3: on ne utiliser que trois 2 A4: on ne utiliser que trois 3 A5: on ne utiliser que trois 4 A6: on ne utiliser que trois 5 A7: on ne utiliser que trois 6 A8: on ne utiliser que trois 7 A9: on ne utiliser que trois 8 A10: on ne utiliser que trois 9
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 28/03/2008 à 00h03. |
|
|
|
|
|
|
#22 (permalink) | |
|
XLDnaute Impliqué
Date d'inscription: octobre 2005
Localisation: pas loin de Montauban (82)
Messages: 994
|
Re et re,
JM, je me serais contenté de Citation:
Ta fonction « sbr » n’est pas une fonction de base d’Excel. Tu aurais pu, tout aussi bien, créer une fonction biaiser telle que biaiser(x) = 2 quel que soit x. L’appel de fonctions classiques connues d'Excel peut donner des solutions. pour 0, tu as (cos(0)+cos(0)+cos(0))! pour 1, tu as (log(1)!+log(1)!+log(1)!)! pour 3, tu as PPCM(3;3+3) pour 4, tu as ENT(ASINH(4))*ENT(ASINH(4))+ENT(ASINH(4)) pour 6 tu as 6^(6/6) Par contre, je suis plus gêné par 7 – 7 / 7. Avec la priorité mathématique des opérations on a 6 et avec Excel on a 39270, 5 + 5 / 5 ne causant pas d’ennui ! Tu t’es plongé dans « un tonneau des Danaïdes » ! Quant à moi je retourne à mes chères études : l’Awalé par Excel (ou comment récolter les graines de l’autre).
__________________
πr… « Que vivre en bonne intelligence avec les autres » soit toujours de rigueur. |
|
|
|
|
|
|
#23 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Re à tous
--> Excel_Lent: A l'origine, j'avais conçu un classeur en utilisant les fonctions natives d'Excel, c'est à dire: FACT() ---> Factorielle, RACINE() ---> Racine carrée et A1^(1/3) --> Racine cubique Donc j'avais un classeur basique avec ce qu'il fallait pour résoudre ce petit jeu. Ensuite j'ai voulu que l'on puisse écrire naturellement dans Excel en utilisant l'écriture conventionnelle mathématique (cf mes premières pièces jointes ici ) En cherchant sur le net , j'ai trouvé le module de classe de Leonardo Volpi, et je l'ai utilisé dans la dernière version du classeur, en ayant néanmoins un souci relaté dans mon message de 05h09 • Pour rappel :les contraintes du jeu sont donc : Les seuls "opérateurs mathématiques" permis sont: +, -, *, / , !, racine carrée et racine cubique et les parenthèses. Si certains d'entre vous pouvaient tester le classeur, afin de voir s'il n'y a pas de bug, ce serait sympa. De même, si vous pouviez jeter un oeil sur le code VBA ( le mien, pas celui de Leonardo car j'en suis à essayer de comprendre son travail) et me dire si j'ai commis des erreurs de syntaxe ou de conception, jen serai ravi.Bonne soirée à tous. PS:Pour éviter de descendre trop bas dans le fil, je remets l'adresse pour télécharger le zip le fichier
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 28/03/2008 à 00h34. |
|
|
|
|
|
#24 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonjour à tous
Personne pour un petit commentaire (pour suggestions , amélioration du code VBA) ? Bonne journée à tous.
__________________
Cordialement, __________________ JM Addict |
|
|
|
|
|
#25 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonsoir à tous
Juste de passage pour un petit up Personne à l'horizon ? Bonne soirée à tous et bon week-end.
__________________
Cordialement, __________________ JM Addict |
|
|
|
|
|
#26 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonjour à tous
Un petit up dominical Il n'y a vraiment personne pour m'accompagner dans ce post ? Je vais commencer à me sentir esseulé .J'ai pas vu un chat ici depuis Excel_lent. Au plaisir (rare) de vous lire, je vous souhaite un bon appétit et bon week-end à tous.
__________________
Cordialement, __________________ JM Addict |
|
|
|
|
|
#27 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonsoir
Un petit up Avec un nouveau divertissement. Toujours personne à l'horizon?
__________________
Cordialement, __________________ JM Addict |
|
|
|
|
|
#28 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonsoir à tous
Juste histoire de ... Pour un espoir de... Toujours personne dans les parages ? Bon week-end à tous.
__________________
Cordialement, __________________ JM Addict |
|
|
|
|
|
#29 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mai 2007
Localisation: Challans
Messages: 3 844
|
bonjour Stapel,
Si, si il ya quelqu'un dans les parages, admiratif devant le travail des matheux, mais incapable d'apporter un + quelconque à l'histoire. si ce n'est des compliments. A+
__________________
excel 2002 (xp) et 2007utilitaire pour nommer une table dynamique N'oubliez pas la charte Faites de moi votre ami et vous gagnerez le droit de me bousculer par MP sinon c'est inutile! Bonne journée |
|
|
|
|
|
#30 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES || Excel 2000-2010 BETA
Messages: 8 306
|
Bonjour Hasco
Merci je me sens un peu moins seul. Je te rejoins dans l'admiration sur le travail de Leonardo Volpi (cf son module de classe dans cette pièce jointe: dernier version (avec le module de classe) Tu as essayé de trouver les solutions? Bon week-end à toi, et aux autres forumeurs.
__________________
Cordialement, __________________ JM Addict |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| aide pour un nul et casse tête. | demeyere | Forum Excel | 8 | 24/02/2008 20h10 |
| Casse-Tete SAP pour les Xperts | surzone | Forum Excel | 7 | 30/11/2007 18h28 |
| Casse tete pour moi !! | gihome | Forum Excel | 18 | 17/10/2007 23h07 |
| Casse tête pour un calcul de date. | Fabrice | Forum Excel Downloads - Archives | 2 | 04/01/2005 18h55 |
| Casse tête pour ce détendre | utilsfr | Forum Excel Downloads - Archives | 4 | 01/05/2004 20h14 |