Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

gestion de compte

  • Initiateur de la discussion petchy
  • Date de début
P

petchy

Guest
le Forum


gestion de compte.
est ce que excel peux effectue un calcul automatiquement (ex: retrait) à une date donnée dans le mois .
ex: excel execute un retrait automatique de ces sommes tous les 29 du mois.
Dure, dure !!!!

merci,@ plus
petchy
 
R

Ronan Quennec

Guest
Bonjour, étant donné que tu n'as pas précisé si tu voulais que le calcul se fasse par une macro ou une formule, je te communique l'astuce suivante :

=SI(JOUR(AUJOURDHUI())=29;"oui";"non")

Dans le cas présent, il faudra que tu ouvres Excel tous les 29 du mois pour que la formule puisse fonctionner.
 
V

Valérie

Guest
Salut le forum,

Si tu souhaites le faire en macro il faut que tu fasses une macro évenementielle à l'ouverture testant le jour

If Day(Date) = 29

Mais en plus il faudra tester si tu n'as pas déjà effetué l'opération du style recherche de la date et vérification des cellules adjacentes.

Private Sub Workbook_Open()
Dim CELLULE As Range, TROUVE As Boolean

If Day(Date) = 29 Then
TROUVE = False
For Each CELLULE In Feuil1.Range("A1:A" & Range("A1").End(xlDown).Row)
If CELLULE = Date And CELLULE.Offset(0, 1) = "Crédit" Then
TROUVE = True
End If
Next
If Not TROUVE Then
Set CELLULE = Feuil1.Range("A1").End(xlDown).Offset(1, 0)
CELLULE = Date
CELLULE.Offset(0, 1) = "Crédit"
CELLULE.Offset(0, 2) = 135.2
End If
End If
End Sub

Rm : ATTENTION A FEVRIER pas de 29!!

@ bientôt
Valérie
 
P

petchy

Guest
Bonsoir le Forum,



pour les réponses Valérie et Ronan Quennec,je prends la soluce de Valérie
une derniere question:
dans ton code les lignes se décalent vers le bas,peut on faire l'inverse
j'ai essayer ce code mais vba n'en veut pas : Selection.Insert Shift:=xlDown

@ plus petchy
 
V

Valérie

Guest
Salut le Forum et petchy,

Super le MERCI gigotant!! J'imagine que tu as une ligne de titres et que tu souhaites placer ta nouvelle ligne en dessous

Tu peux écrire la syntaxe suivante (1 correspondant à la ligne de titre)

Range("A2").EntireRow.Insert

avant de placer tes valeurs
sinon dis moi ce que tu veux faire exactement

@ bientôt
Valérie
 
P

petchy

Guest
salut Valérie et le forum

quand je place ta ligne de commande il ne se passe rien,se que je voudrais
c'est placer cette ligne "Selection.Insert Shift:=xlDown" car elle se decale vers le haut.en fait je ne sais pas si je suis clair


For Each CELLULE In Feuil1.Range("A1:A" & Range("A1").End(xlDown).Row)
Set CELLULE = Feuil1.Range("A1").End(xlDown).Offset(1, 0)

merci,@ plus
petchy
 
V

Valérie

Guest
salut Petchy et le forum,

J'ai loupé un truc je comprnd pas ce que tu veux, peux-tu m'envoyer dans ma BAL because off FORUM malade, un exemple de ce que tu veux et je te développe ce que tu attends mais sans cela dur dur

C ientot le vikend et je fatigue!!

@+
Valérie
 
V

Valérie

Guest
Salut Petchy,

Ci-joint le code te permettant de créer ta ligne pour les crédit sous la forme de ton fichier (sympa d'ailleurs mais j'ai eu un pb avec UserForm4 qui me provoquait une erreur FATALE!!)

Ceci dit :

Private Sub workbook_open()
Dim CELLULE As Range, TROUVE As Boolean

If Day(Date) = 17 Then 'A la place de 17 ta date
TROUVE = False
For Each CELLULE In Feuil2.Range("A3:A" & Range("A65536").End(xlUp).Row)
If CELLULE = Date And CELLULE.Offset(0, 1) = "REMBT. EMPRUNT" Then TROUVE = True 'Test si la ligne existe déjà
Next
If Not TROUVE Then 'Mise en place des valeurs si la ligne n'existe pas
With Feuil2.Range("A3")
.EntireRow.Insert
.Value = Date
.Offset(0, 1) = "REMBT. EMPRUNT"
.Offset(0, 2) = 100
End With
End If


Application.CommandBars("Standard").Visible = False
Application.DisplayFormulaBar = False
Application.CommandBars("Formatting").Visible = False

End If
End Sub


J'espère que c'est ce que tu attendais, à bientôt

Valérie
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…