Landoltp
Messages postés68Date d'inscriptionmercredi 1 août 2007StatutMembreDernière intervention14 mars 2008
-
31 oct. 2007 à 09:35
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
1 nov. 2007 à 23:05
Bonjour,
j'ai un code qui me génère automatiquement un échéancier en fonction du nombre de périodes de remboursement, mais j'ai un problère: je n'arrive pas à faire que les nouvelles lignes soient automatiquement encadrées. Est-ce que quelqu'un aurait une proposition? merci d'avance.
Voila le code:
Sub Bouton1_Clic()
Const fdg As Double = 0.1
Dim montant As Double
Dim tau As Double
Dim tau2 As Double
Dim dur As Integer
Dim dep As Date
Dim differ As Single
Dim maf As Worksheet
Dim index As Long
Dim rbt As Currency
Dim jour As Date
Set maf = Sheets("Echéancier")
maf.Range("A18:F419").ClearContents
montant = maf.Range("d4")
tau = maf.Range("d5")
tau2 = maf.Range("d5") / 12 / 100
dur = maf.Range("d6")
differ = maf.Range("d8")
rbt = (montant * (-tau2) * (1 + tau2) ^ dur) / (1 - (1 + tau2) ^ dur)
dep = maf.Range("d7")
For index = 1 To differ + dur
maf.Range("a" & index + 17) = index
jour = DateSerial(Year(dep), Month(dep) + index, Day(dep)) If Weekday(jour, 2) 6 Then jour jour - 1 If Weekday(jour, 2) 7 Then jour jour + 1
maf.Range("b" & index + 17) = Format(jour, "dddd")
maf.Range("c" & index + 17) = jour
If index <= differ Then
maf.Range("d" & index + 17) = montant * tau / 1200
maf.Range("e" & index + 17) = montant * fdg / (dur + differ)
maf.Range("f" & index + 17) = (montant * tau / 1200) + (montant * fdg / (dur + differ))
Else
maf.Range("d" & index + 17) = rbt
maf.Range("e" & index + 17) = montant * fdg / (dur + differ)
maf.Range("f" & index + 17) = rbt + (montant * fdg / (dur + differ))
End If
Next index
End Sub
A voir également:
La cellule ou le graphique que vous essayez de modifier se trouve sur une feuille protégée
Landoltp
Messages postés68Date d'inscriptionmercredi 1 août 2007StatutMembreDernière intervention14 mars 2008 31 oct. 2007 à 11:17
Merci pour ta proposition, mais ça ne joue pas (ou alors je l'adapte mal), ce qu'il faudrait c'est que ça m'encadre les cellules A18:D18 jusqu'à la dernière ligne ou il y a un paiement. je sais pas si c'est très clair...
Landoltp
Messages postés68Date d'inscriptionmercredi 1 août 2007StatutMembreDernière intervention14 mars 2008 31 oct. 2007 à 12:46
Ca fonctionne, mais il reste un problème: c'est que si j'ai fait un test avec, par exemple, 20 mensualités et qu'après j'en fait un avec moins de mensualités il me laisse les cellules encadrées même s'il n'y a rien dedans.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Landoltp
Messages postés68Date d'inscriptionmercredi 1 août 2007StatutMembreDernière intervention14 mars 2008 31 oct. 2007 à 14:20
oui mais là il m'efface tous les encadrements et je voudrais qu'il me laisse uniquement ceux ou il y a quelque chose à l'intérieur des cellules.
j'ai essayé comme ça mais ça fonctionne pas: Range(derligne & "a65536 : f65536").Borders.LineStyle = xlNone
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 1 nov. 2007 à 23:05
Une façon serait de mettre à quelque part (autre colonnes masquées, autre feuille, ...) le format de cellules comme tu les veux. Tu n'auras qu'à faire un copier/coller du format de ces cellules par la suite.