Saisie auto dossier source

Bonjour,
je vous sollicite à nouveau.

comment insérer une formule dans un chemin d’adresse?
je m’explique… j’ai un fichier excel dans C:\Users\xxx\Desktop\xxx\excel 2020

comment inclure une formule pour décaler l’année par exemple? qu’en fonction de l’année ou nous somme, excel aille du coup chercher le contenu du fichier excel 2021?

Deuxième question, peut-on également inséré ce type de formule dans un chemin vers une feuille ?
Exemple: si nous sommes en 2022, excel ira chercher la valeur dans le doc excel 2022, mais aussi dans la feuille 2022.

Ai-je été assez clair?

j’en sui arrivé la : =’[doc esclave 1.xlsx]"&K8&"’!$H$6 mais j’ai une erreur

sur h6 j’ai la valeur 2022

Bonsoir,

A tester ;

="C:\Users\xxx\Desktop\xxx\excel "&ANNEE(AUJOURDHUI())

Avec un fichier exemple, il est plus facile d’apporter une réponse adéquate.

Cordialement.

excuse moi mais je veux que la valeur "année soit dans la cellule H6… j’essaie de faire un fichier test

je veux mettre des valeur de cellule dans un chemin d’adresse

au lieu d’écrire ca comme formule : =C:\Users\xxx\Desktop\xxx[excel 2020.xlsx]2021’!$I$1

je veux un truc du style : =C:\Users\xxx\Desktop\xxx[excel"&H6&".xlsx]"&H6&"!$I$1

VOICI LES FICHIER TEST. le fichier maître qui affiche les valeur

et le fichier esclave qui est de la saisie

doc esclave 1.xlsx (9,6 Ko)
doc maître.xlsx (9,7 Ko)

Bonjour,
essaie

=INDIRECT("’[doc esclave 1.xlsx]"&H1&"’!$A$1")
Cordialement

Salut, apparament il y a erreur #REF

re,
au début il y a guillemets + apostrophe ainsi que devant !$A

" ’
Cordialement

Oui oui ok ca marche, mais que quand j’ouvre le document excel esclave, si je le ferme et en ouvre un autre ca me réaffiche #REF.

re,
Pour que cela marche, il faut que le fichier esclave soit ouvert.
Cdlt

ok, j’aimerai trouver dans ce cas une solution pour ne pas avoir à l’ouvrir…

ou à la limite faire une macro qui m’ouvre tous mes fichier esclave

Bon je me suis trouvé une solution avec une macro, cependant j’ai une erreur sur cette ligne de macro :
Fichier1 = « Document unique « &L31& ».xls »

Sub OuvertureDeFichier()

Dim Dossier1 As String, Fichier1 As String, Chemin1 As String, Annee1 As String, exten1 As String

Dossier1 = « C:\Users_\Desktop___---- »
Fichier1 = "Document "
Annee1 = Range(« L31 »).Value
exten1 = « .xls »
Chemin1 = Dossier1 & Fichier1 & Annee1 & exten1

On Error GoTo OuvertureFichierErreur
Dim MonApplication As Object
Dim MonFichier As String
Set MonApplication = CreateObject(« Shell.Application »)

MonApplication.Open (Chemin1)

Set MonApplication = Nothing
Exit Sub

OuvertureFichierErreur:
Set MonApplication = Nothing
MsgBox « Erreur lors de l’ouverture de fichier… »

End Sub

Mais le fichier s’ouvre pas j’ai une erreur

Bonjour,
Je suis toujours dans l’impasse… votre aide me serai précieuse…

Bonjour,

N’étant pas un pro du VBA, je te conseille, plutôt, de rouvrir un nouveau post en explicitant bien ta demande et ton souhait de solution VBA pour un fichier fermé.
Cordialement.

Bonjour
Je me permet de faire déjà une suggestion au regard du code proposé
Cette ligne :
Dossier1 = « C:\Users_ \Desktop_ _ _ ---- »
Je la mettrais comme ceci :

Dossier1 = « C:\Users_ \Desktop_ _ _ ---- \»
En rajoutant en bout ce caractère : \

Puis d essayer

Maintenant je ne mettrais que cette partie :

Dim Dossier1 As String, Fichier1 As String, Chemin1 As String, Annee1 As String, exten1 As String

Dossier1 = « C:\Users_ \Desktop_ _ _ ---- \»
Fichier1 = "Document "
Annee1 = Range(« L31 »).Value
exten1 = « .xls »
Chemin1 = Dossier1 & Fichier1 & Annee1 & exten1

Avec juste cette ligne de code après :
Workbooks.Open(Chemin1)

Je supprimerai le reste
Pour l erreur à l ouverture excel se charge de donner le message adapté

A tester aussi

1 « J'aime »