Recherche d'une formule de calcul

Résolu/Fermé
FRANSIS33 Messages postés 281 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 25 novembre 2022 - 25 nov. 2016 à 12:57
FRANSIS33 Messages postés 281 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 25 novembre 2022 - 5 déc. 2016 à 10:21
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

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 534
25 nov. 2016 à 14:27
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+
0
FRANSIS33 Messages postés 281 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 25 novembre 2022 3
29 nov. 2016 à 19:55
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 ?
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 534
29 nov. 2016 à 20:26
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+
0
FRANSIS33 Messages postés 281 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 25 novembre 2022 3
3 déc. 2016 à 12:07
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.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 534
3 déc. 2016 à 12:51
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+
0
FRANSIS33 Messages postés 281 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 25 novembre 2022 3
5 déc. 2016 à 10:21
Bonjour.
En fait, petite erreur de ma part...
Tout est rentré dans l'ordre.
Merci bien Gyrus pour ton aide.
0