Gestion de comptes bancaires : maj de solde quotidien sur date antérieure...

lapinou1

XLDnaute Occasionnel
Bonjour @ tous,

Je me permets de revenir vous voir après des mois d'absence pour cause d'activité importante alors j'espère que vous ne m'en voudrez pas de revenir uniquement pour un besoin personnel !

Je vais essayer de faire court même si cela ne va pas être simple ;-)
J'utilise un fichier excel pour suivre mes comptes au quotidien ou presque.
Ce fichier ce décompose en 5 feuilles :
-> Database : ici sont saisies toutes les lignes de crédit ou débit associées à des personnes et comptes bancaires
-> Stats : ici l'on retrouve le solde quotidien de chaque compte
-> Graphes : ici quelques graphes concernant le solde quotidien des comptes
-> TCD : un tableau croisé dynamique qui cumule les dépenses par catégories
-> Sources : les zones définissant les sources des autres feuilles ;-)

Mon problème porte sur la feuille Stats.
En effet, chaque mois, je modifie la date de la cellule en A2, qui me modifie les valeurs de B2:N2 avec les nouveaux solde à la date donnée et ensuite je copie/colle B2:N2 dans une nouvelle ligne du tableau en dessous .
Vous trouverez dans le fichier joint l'exemple à faire : mettre 08/01/2010 en A2 puis copier B2:N2 pour le coller en B20:N20.

Je pense que vous imaginez bien la lourdeur de ça et surtout quand vous voulez vous remettre à jour après quelques modifs, et qu'il faut se remplir 200 lignes, c'est pas forcément "marrant".

Mais je suis sur que des experts ici vont me concocter un petit truc (macro ou autres) afin que ce tableau soit remplie automatiquement par un simple clic ;-)

Je reste à votre disposition pour toutes questions ;-)
Si vous voyez des choses qui vous choquent dans ce fichier, n'hésitez pas à me le dire ;-)

Merci d'avance beaucoup beaucoup beaucoup !!!
Lapinou1

P.S. N'hésitez surtout pas à récupérer ce fichier pour vos besoins personnels ;-)
P.S. Le fichier se trouve ici Free - Envoyez vos documents mot de passe : lapinou1
 

lapinou1

XLDnaute Occasionnel

lapinou1

XLDnaute Occasionnel
Re : Gestion de comptes bancaires : maj de solde quotidien sur date antérieure...

Re-Bonjour @ tous,

J'ai essayé quelque chose en enregistrant une macro et c'est ce que j'aimerais faire de manière automatique...
Le code a exécuté serait celui-là (essai sur 3 dates seulement) :
Code:
Sub TEST()
    
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1/8/2010"
    Range("B2:O2").Select
    Selection.Copy
    Range("B20").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1/9/2010"
    Range("B2:O2").Select
    Selection.Copy
    Range("B21").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1/10/2010"
    Range("B2:O2").Select
    Selection.Copy
    Range("B22").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

End Sub
sur lequel il faudrait faire une boucle d'une date située en A1 à une autre date située en A2 par exemple.

Merci d'avance pour votre aide sur la boucle ;-)
Lapinou1
 

Fo_rum

XLDnaute Accro
Re : Gestion de comptes bancaires : maj de solde quotidien sur date antérieure...

salut

dans le module de la feuille Stats (clic droit sur le nom de l'onglet, Visualiser le code) copier et tester
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Dli As Long
  If Target.Address <> "$A$2" Or Target.Count > 1 Then Exit Sub
  If Target = "" Then Exit Sub
  Dli = Cells(Rows.Count, 1).End(xlUp).Row + 1
  Range("A" & Dli & ":Q" & Dli) = Range("A2:Q2").Value '[B]avec A12 non vide ![/B]
End Sub
La copie se fait à chaque changement de A2.
 

lapinou1

XLDnaute Occasionnel
Re : Gestion de comptes bancaires : maj de solde quotidien sur date antérieure...

Merci pour le code Fo_rum,

J'ai mûrit dans la réflexion et je me dis que le mieux serait en fait d'avoir :
-> la date de début de la plage de temps en A1,
-> la date de fin de la plage de temps en A2,
et que une macro du type
Code:
Sub TEST()
    
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1/1/2010"
    Range("B2:O2").Select
    Selection.Copy
    Range("B13").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
 
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1/2/2010"
    Range("B2:O2").Select
    Selection.Copy
    Range("B14").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
 
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1/3/2010"
    Range("B2:O2").Select
    Selection.Copy
    Range("B15").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

etc

End Sub
tourne en boucle pour remplir la plage B13:O1000 avec pour 1ère date la valeur de A1 et pour dernière date la valeur de A2.

Je ne sais pas si je suis très clair dans ce que je veux dire ?

Merci de votre aide encore une fois ;-)
@+
 

lapinou1

XLDnaute Occasionnel
Re : Gestion de comptes bancaires : maj de solde quotidien sur date antérieure...

Bonjour @ tous,

Oups c'est ce que je pensais, j'ai du mal m'exprimer !

Si certains lisent ce message, pouvez-vous me dire ce qui n'est pas compréhensible svp :)

Merci d'avance,
@++
 

Discussions similaires

Réponses
10
Affichages
226

Statistiques des forums

Discussions
312 165
Messages
2 085 883
Membres
103 013
dernier inscrit
cicro