Test logique - ne rien faire si faux

Bonjour,

Je voudrais créer une formule qui, chaque jour, va chercher dans un fichier une valeur (cette valeur est actualisée manuellement chaque jour par un opérateur).

J'ai essayé de mettre en place une formule du type SI comme suit :

=SI(DATE(ANNEE(A1);MOIS(A1);JOUR(A1))=AUJOURDHUI();[Fichier.xlsx]Feuille!$E$122;"valeur_si_faux")

Le problème, c'est que demain, dès que le test logique sera faux, il remplacera ma valeur par celle de la valeur_si_faux... Au lieu de la conserver.

J'ai pensé à deux solutions :

1. Faire référence à la cellule elle-même, mais Excel n'aime pas ça

2. Passer par une colonne tierce, cependant, la valeur que je dois-aller chercher étant variable, je ne voix pas comment faire

Je pense que la seule solution est de passer en VBA et de dire (grossièrement) :

If Date=Aujourdhui then ChercherValeurDansFichier

Else do nothing

Merci de m'indiquer s'il existe une solution sans VBA, et sinon, de m'aider à créer la fonction VBA (je ne sais pas du tout comment ça marche, et je ne connais pas son langage...)

Ci-joint mon fichier pour que vous compreniez.

Par avance merci beaucoup !

20help.xlsx (9.87 Ko)

Bonjour,

A essayer comme suivant et à adapter le répertoire et le nom du classeur source :

=SI(A1=AUJOURDHUI();'C:\Users\Garnier\Documents\[Classeur1.xlsx]Feuil1'!$A$1;0)

Bonjour,

Merci pour votre réponse, cependant, le problème ne se situe pas au niveau de l'accès au fichier (qui, lui, ne pose auucn problème), mais réside dans le fait de ne pas changer la valeur de ma cellule une fois que la date est passée.

Re,

Essaye le code suivant dans le module "ThisWorkbook" :

Private Sub Workbook_Open()
    Sheets("Feuil1").Range("B1").Formula = "=IF(R1C1=TODAY(),'C:\Users\Garnier\Documents\[Classeur1.xlsx]Feuil1'!R1C1,0)"
End Sub
Rechercher des sujets similaires à "test logique rien faux"