création automatique de formules ???

  • Initiateur de la discussion Cerbere
  • Date de début
C

Cerbere

Guest
Bonjour!!!

Je fais un petit fichier, sous excel, me permettant de voire, pour un leasing, ce que j'ai à payer par mois ainsi que les intérets. mais comme vous le voyer dans mon exemple, j'ai limité les formules à 1 page. ce que j'aimerais, c'est que quand on arrive à la date limite (fin de la page), mes formules se copient automatiquement sur la deuxième page, en s'incrémentant, continuant ainsi mon leasing. est-ce que ceci est possible, avec une macro, par exemple?

Merci!!!
 

Pièces jointes

  • calcul_leasing_TEST.zip
    48 KB · Affichages: 44
@

@+Thierry

Guest
Salut Cerbere, le Forum

Ta question ne semble pas compliquée pourtant mais étant donné que je ne vois pas ton fichier, (interdiction de téléchargement au bureau) je ne peux me figurer ton exemple.

Pour idée, on peut facilement copier une feuille par VBA :
Sub CopySheet()
Worksheets("Matrice").Copy After:=Worksheets("Leasing page 1")
End Sub
La feuille "Matrice" serait une feuille contenant ton formulaire vierge mais avec toutes les Formules...

Sinon si on parle de même feuille mais s'imprimant sur plusieurs pages il suffit de faire "glisser" la dernière ligne de formule pour que celles-ci s'incrémentent automatiquement pour peu que ces formules aient des références relatives et/ou absolues aux emplacements nécessaires.

Quoiqu'il en soit, il est une rêgle dans ce Forum qui est matérialisée par une Charte et donc il ne faut pas se montrer impatient Up !

Bon Après Midi
@+Thierry
 
C

Cerberes

Guest
oups... désolé pour les ups, alors... je te remercie de ton aide, thierry, mais ce n'est pas tout a fait ça... la copie incrémentale, je connais, mais ce que j'aimerais, c'est imprimer seuleument les formules qui retournent un résultat autre que 0 ou ""... et le seul moyen que j'ai trouvé (car la personne à qui est destiné ce logiciel, mon professeur, ne sais pas comment faire et ne veux pas un bouton imprimer qui lui demanderais quelles pages il décide d'imprimer) est de "créer" automatiquement ces formules, mais avec une incrémentation...
 
@

@+Thierry

Guest
Ups Cerberes , Ups Ups le Forum !!! lol

Bon de chez moi j'ai jetté un oeil à ton fichier et je pense qu'il serait bien plus simple de maîtriser la Zone d'Impression plutôt que de générer des formules par VBA ce qui serait un peu usine à gaz.

Donc je te propose de remplacer ta macro de PrintOut par celle-ci :

Sub Bouton1_QuandClic()
Dim WS As Worksheet
Dim Plage As Range, Cell As Range
Dim CellAddress As String

Set WS = ThisWorkbook.Worksheets("Comptabilité")
Set Plage = WS.Range("C7:C" & WS.Range("C65536").End(xlUp).Row)

WS.PageSetup.PrintArea = ""

For Each Cell In Plage
If Cell.Value = "" Then
CellAddress = Cell.Row
Exit For
End If
Next

On Error GoTo ErrorHandler
With WS
.PageSetup.PrintArea = "$A$1:$F$" & CellAddress
.PrintOut
End With
Exit Sub
ErrorHandler:
MsgBox "Vous avez atteint la dernière ligne de formule pour le du prêt"
End Sub

Bien entendu ce code est subordonné à ce que la colonne "C" contienne bien des formules incrémentées et retournant des vides au delà de la plage qui retournera des valeurs (tu me suis ?) en fait tu peux "draguer" tes formules jusqu'à la ligne 500 si çà te chante !!!
Mais par contre si le montant du prêt atteind la dernière ligne contenant une formule cette macro plantera, j'ai prévu un message d'erreur au cas où, mais un petit "draguage" au delà de cette limite ne fera de mal à personne !!!

Bonne soirée et donc tout vient à point à qui sait attendre !

@+Thierry
 

Discussions similaires

Réponses
6
Affichages
336

Statistiques des forums

Discussions
312 305
Messages
2 087 087
Membres
103 461
dernier inscrit
dams94