Affectation des résultats d'une macro
Fermé
vbabeug
Messages postés
1
Date d'inscription
lundi 9 février 2015
Statut
Membre
Dernière intervention
9 février 2015
-
Modifié par Whismeril le 9/02/2015 à 14:42
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 9 févr. 2015 à 18:32
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 9 févr. 2015 à 18:32
A voir également:
- Affectation des résultats d'une macro
- Lexer resultats - Télécharger - Sport
- Macro word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
2 réponses
f894009
Messages postés
17191
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mai 2024
1 708
9 févr. 2015 à 18:15
9 févr. 2015 à 18:15
bonjour,
je pense avoir un problème sur les boucles
Ben oui, 49 fois le meme calcul a chaque boucle ca mene pas loin.
la variable n n'est pas initialisee !!!!
Faire chaque calcul dans une boucle de 1 a 49
je pense avoir un problème sur les boucles
Ben oui, 49 fois le meme calcul a chaque boucle ca mene pas loin.
la variable n n'est pas initialisee !!!!
Faire chaque calcul dans une boucle de 1 a 49
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
9 févr. 2015 à 18:32
9 févr. 2015 à 18:32
Bonsoir VBABeug, bonsoir le forum,
Je verrais les choses comme ça, avec une seule boucle :
Je verrais les choses comme ça, avec une seule boucle :
Sub test() Dim pp As Integer Dim chevauxFisc As Byte Dim coefAge As Single Dim coefSexe As Single Dim coefPret As Single Dim Bonus As Single Dim malus As Single Dim i As Byte pp = 200 For i = 1 To 49 'boucle for pour les conditions sur les tranches d'age If p.Cells(i, 1).Value >= 18 And p.Cells(i, 1).Value < 25 Then coefAge = 1.7 Else If p.Cells(i, 1).Value >= 25 And p.Cells(i, 1).Value < 35 Then coefAge = 1.45 Else If p.Cells(i, 1) >= 35 Then coefAge = 1.1 End If End If End If If p.Cells(i, 2).Value = "m" Then coefSexe = 1.1 Else If p.Cells(i, 2).Value = "f" Then coefSexe = 1 Else If p.Cells(i, 2).Value <> "m" And p.Cells(i, 2).Value <> "f" Then MsgBox ("La valeur rentrée ne correspond pas, entrez m ou f") Exit Sub End If End If End If 'boucle pour le bonus en fonction du nombre d'année de détention du permis If p.Cells(i, 3).Value > 13 Then Bonus = 0.5 Else Bonus = 0.95 ^ p.Cells(i, 3).Value End If chevauxFisc = p.Cells(i, 4).Value * 30 'boucle for pour le deuxième conducteur If p.Cells(i, 5).Value = "oui" Then coefPret = 1.15 Else If p.Cells(i, 5).Value = "non" Then coefPret = 1 Else If p.Cells(i, 5).Value <> "oui" And p.Cells(i, 5).Value <> "non" Then MsgBox (" la valeur rentrée n'est pas correcte") Exit Sub End If End If End If 'Boucle pour le calcul du malus malus = 1.1 ^ p.Cells(i, 6).Value 'calcul de la prime annuelle p.Cells(i, 7) = (pp * coefPret * coefSexe * Bonus * malus * coefAge) + chevauxFisc Next i End Sub