Bonjour et merci à ceux qui auront pris le temps de lire mon post :-)
Je commence doucement VBA car je vais être amené à l'utiliser à partir de l'année prochaine (Master en finance) et j'essaye de m'y initier! Pour ce faire on m'a conseillé de jeter un oeil au projet EULER et d'essayer de résoudre les problèmes en utilisant vba.
J'en suis au troisième problème (https://projecteuler.net/problem=3) et pour le résoudre j'ai écrit ce petit programme:
Mon petit programme à l'air de plutôt bien fonctionner mais uniquement avec des valeurs inférieures à 2 milliards et des briquettes (or il s'agit dans le PB n3 de tester un ombre supérieur à 600 milliards)! Au dessus j'ai le droit à une erreur 6 " dépassement de capacité". Je me suis aperçu que j'avais déclaré nombre comme single (donc cela ne pouvait effectivement pas marcher) mais désormais puisqu'il est déclaré en currency je ne comprends pas pourquoi il me fait encore l'erreur 6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Sub test3() Dim nombre As Currency, i As single, j As single, diviseur As Byte nombre = InputBox("choisir un nombre") For i = Int(Sqr(nombre)) To 1 Step -1 For j = 1 To i If i Mod j = 0 Then diviseur = diviseur + 1 If diviseur > 2 Then Exit For End If End If Next If diviseur = 2 Then If nombre Mod i = 0 Then MsgBox i & " est la réponse" Exit For End If Else diviseur = 0 End If Next End Sub
Toute remarque sur des erreurs de débutant sera (vraiment) bien venue!






Répondre avec citation



Partager