Recherche d'une formule de calcul

Résolu/Fermé
Signaler
Messages postés
269
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
7 octobre 2021
-
Messages postés
269
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
7 octobre 2021
-
Bonjour,

Toujours à la recherche d'une formule de calcul pour l'exemple dans ce lien.

Merci pour votre aide.

https://www.cjoint.com/c/FKutYlabQoz

3 réponses

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
543
Bonjour,

Une proposition avec une procédure VBA.
A l'ouverture du fichier, un contrôle de date est effectué.
Si la date du jour est supérieure au 15 du mois, la ligne de débit est ajoutée.
https://www.cjoint.com/c/FKznztOSXP3

A+
Messages postés
269
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
7 octobre 2021
2
Bonsoir.

Merci pour la proposition mais je n'arrive pas à l'appliquer car je ne la comprends pas !
Où la fonction va t-elle chercher la ligne de débit à ajouter ?
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
543
Comme indiqué précédemment, il s'agit d'une procédure VBA.

Private Sub Workbook_Open()
Dim D As Date
Dim LigneAjout As Long
With Worksheets("Feuil1")
D = DateSerial(Year(Date), Month(Date), 15)
If Date >= D Then
If Application.CountIf(.Columns(1), D) = 0 Then
LigneAjout = .Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & LigneAjout) = D
Range("B" & LigneAjout) = "Banque XXX (Prêt immo)"
Range("C" & LigneAjout) = 2
End If
End If
End With
End Sub


Pour visualiser cette procédure :
alt + F11 pour ouvrir l'éditeur,
ctrl + R pour ouvrir l'explorateur de projets,
double-clic sur le module ThisWorkBook pour visualiser le code.

L'intérêt de cette procédure Workbook_Open(), c'est qu'elle est lancée automatiquement à l'ouverture du fichier.
On peut ainsi vérifier si la date du jour est supérieure au 15 du mois et effectuer le traitement souhaité si la condition est vérifiée.

A+
Messages postés
269
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
7 octobre 2021
2
Bonjour et merci pour ta patiente.
Un petit souci. J'ai inséré la fonction dans ma feuille "COMPTES" et, volontairement, je n'ai pas renseigné manuellement le prélèvement automatique du 15/11/2016 mais à l'ouverture du fichier il n'est pas visible ?
Par contre les autres opérations (+,-) se réalisent parfaitement.
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
543
Bonjour,

La procédure doit être placée dans le module ThisWorkbook.
Ce module permet de disposer de l'évènement Workbook.Open qui lance la procédure à l'ouverture du classeur.
Dans la procédure, il faut préciser le nom de la feuille où s'applique le traitement.
Si ta feuille porte le nom "COMPTES", il faut remplacer la ligne
With Worksheets("Feuil1") 

par
With Worksheets("COMPTES") 


A+
Messages postés
269
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
7 octobre 2021
2
Bonjour.
En fait, petite erreur de ma part...
Tout est rentré dans l'ordre.
Merci bien Gyrus pour ton aide.