Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2011, 23h46   #1
Membre actif
 
Homme
Étudiant
Inscription : août 2011
Messages : 127
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 127
Points : 183
Points : 183
Par défaut boucle for imbriquée

Bonjour Forum je voudrai faire un programme avec deux boucles for qui me calcul
∑1/(1+j)^i et sa pour i de 1 a 3 et j de 1 a 5 j'ai fait le code suivant met pour le résultat sa m'affiche 0. Donc je fait appel à votre génie pour m'éclairer
Merci d'avance et voici mon code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub calc()
Dim i As Integer, j As Integer, s As Integer
Dim a As Double, b As Double
s = 0
i = 1
j = 1
For i = 1 To 3
For j = 1 To 5
 
a = (1 + j) ^ -i
a = b
s = s + b
Next j
Next i
Range("A1").Value = s
 
 
End Sub
erlerwade est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 00h02   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonsoir
peut être
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Calc()
Dim i As Byte, j As Byte
Dim s As Double, t As Double
 
For j = 1 To 5
    s = 0
    For i = 1 To 3
        s = s + (1 + j) ^ -i
    Next i
    t = t + s
Next j
Range("A1").Value = t
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 10/10/2011, 13h02   #3
Membre actif
 
Homme
Étudiant
Inscription : août 2011
Messages : 127
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 127
Points : 183
Points : 183
Par défaut question

Merci beaucoup Mercatog c'est exactement ce dont j'avais besoin. Juste une question pourquoi mon code ne marchait pas et pourquoi le choix de Byte pour déclarer vos variables sauf la variable t qui est déclarée comme double ?
erlerwade est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 13h57   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Byte parce que ce dont nous avions besoin (i 1 to 5 et j 1 to 3)
Double parce que aussi ce dont nous avions besoin.
Regarde d'abord ce lien sur les variables
Pour ton code, quel logique (ou algorithme as tu utilisé?)
refais les boucles à la main en changeant à chaque fois tes variables d'entée, tu t’aperçois dès lors de ce que fais ton code.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 10/10/2011, 14h59   #5
Membre actif
 
Homme
Étudiant
Inscription : août 2011
Messages : 127
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 127
Points : 183
Points : 183
Par défaut merci

Merci Mercatog le lien sur les variables est excellent j'ai refait l'algorithme à la main en changeant les variables je me suis aperçu de mes erreurs.Et ton code m'a beaucoup appri et servi.
Vive le forum!!!!!!!
erlerwade est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h52.


 
 
 
 
Partenaires

Hébergement Web