Evolution d'un CA sur calendrier

Bonjour,

J'ai deux fichiers, le premier (classeur CA) représente un chiffre d'affaire en cellule B4. L'autre classeur est un calendrier (calendrier pour CA) qui reprend le chiffre d'affaire de l'autre classeur (B4). Le chiffre d'affaire change chaque jour et je cherche une formule qui affiche l'évolution du chiffre d'affaire. Plus concrètement : si le 01/01/2017 le CA est de 120 550.85, la cellule C4 du calendrier va afficher 120 550.85. Mais si le 02/01.2017 le CA est passé à 127 745.25, C4 devra afficher 120 550.85 alors que C5 affichera 127 745.25. Mais, comme vous le voyez dans le fichier joint (Calendrier pour CA) toutes les cellules indiquent 127 745.25.

Merci pour votre aide

18ca.xlsx (9.78 Ko)

P.S. Le lien du calendrier vers le CA : =CA.xlsx]CA'!$B$4

Bonsoir,

C'est normal, la même formule opère le même calcul et renvoie le même résultat, et le modifie quand il change.

Il faut revoir la méthode. Une formule ne répond pas à la question, sauf à la supprimer dès qu'elle a renvoyé le résultat qu'elle devait...

Il y a une opération à prévoir du résultat du jour. Il importe de savoir selon ton mode opératoire à quel moment elle doit être placée, et éventuellement les critères de vérification permettant de garantir que l'on prélève le CA du jour concerné.

Cordialement.

Merci pour ta réponse,

Oui c'est ça : trouver une formule qui convertisse la formule "=CA.xlsx]CA'!$B$4" en la valeur affichée dans la cellule et que cela se fasse chaque jour à 0:00h. C'est justement cette formule que je n'arrive pas à trouver

Pas une formule ! Une formule on la met, et elle ne bouge plus... !

Tu ne fermes jamais le fichier ?

Sub FixerCA()
    Dim d, j%, m%, k%
    d = Date: j = Day(d): m = Month(d)
    If m > 6 Then k = 1: m = m - 6
    m = m * 3
    With Worksheets("2 pages").Range("A4:R34").Cells(j, m).Offset(34 * k)
        .Value = .Value
    End With
    Application.OnTime d + 1, "FixerCA"
End Sub

Tu la lances, elle écrase la formule du jour, et se programme pour se relancer automatiquement le lendemain à 0h00...

Cordialement.

Merci pour la macro mais je ne suis pas un spécialiste en la matière bien que les adore ces macros!

Va falloir la placer correctement et là, galère de mon côté. Si tu veux bien, voici quelques infos :

Fichier dans lequel se trouve le CA : Elèves 2017-2018

Feuille : SOLDES

Cellule dans laquelle se trouve le CA : K7

Depuis le calendrier en PJ (fichier CA 2017-2017) voici la formule : ='[Elèves 2017-2018.xlsm]SOLDES'!$K$7

En attaché une copie d'écran de VBA du fichier Elèves 2017-2018

Un grand merci

vba eleves 2017 2018
6ca-2017-2018.xlsx (16.51 Ko)

J'ai répondu en fonction des infos fournies après en avoir demandé confirmation !

La macro ne se préoccupe pas de la formule, elle se contente chaque jour d'écraser la formule du jour. La valeur sera ainsi fixée.

Une fois lancée, elle programme sa relance pour le jour suivant 0h00 et s'exécutera donc tous les jours tant que le fichier n'est pas fermé...

Ce qui suppose que le fichier est ouvert en permanence, ou bien qu'on relance la macro à l'ouverture (et qu'il soit ouvert au moins une fois par jour, y compris samedi, dimanche et fériés).

Pour faire l'opération, la macro calcule l'emplacement du jour dans le tableau.

Tu disposes de la méthode. Une macro ordinaire se place dans un module Standard du classeur concerné. Si tu modifies le tableau-calendrier où se trouve les formules, il te faut redéfinir un mode de calcul définissant l'emplacement de la cellule du jour à partir de la date dans ton tableau.

Cordialement.

J'ai placé la macro dans la feuille du calendrier mais voici le message qui est apparu au lancement de la macro

vba message

NB- Il manque les formules dans le 2e semestre... !

Parfait, merci pour ton aide, super!

Rechercher des sujets similaires à "evolution calendrier"