Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Lire le champ d'un autre fichier.

fredqc31

XLDnaute Nouveau
Bonjour je sais pas si ça se fait...

J'ai un fichier 2016 qui a besoin d'information sur ce qu'il y avait en 2015

J'ai trouvé comment dans mon fichier 2016 aller chercher le contenu d'une cellule spécifique du même fichier version 2015
en entrant la syntaxe suivante

='C:\temp2\[2015.xlsx]Feuil1'!$C$18

et ceci fonctionne très bien.

pour mon fichier de 2017, j'aimerais bien pas avoir à faire le tour de toutes mes cellules et changer tous les [2015.xlsx] pour [2016.xlsx].

en fait j'aimerais pouvoir mettre dans une cellule l'année en cours genre 2016 dans la cellule A1 par exemple

ensuite trouver une syntaxe qui me permettrait de bâtir mon lien dans le genre

='C:\temp2\[a1-1.xlsx]Feuil1'!$C$18 (où le a1-1 serait interprété par 2015)

je sais que c'est un peu tordu mais ce serait vachement cool si il y avait une façon de le faire...
 

fredqc31

XLDnaute Nouveau
Re : Lire le champ d'un autre fichier.

Mais si j'utilise indirect, le fichier où se trouve la donnée doit être ouvert, c'est bien ça?

Quelle genre de code VB devrais-je entrer pour pouvoir le faire mais avec le fichier source fermé?
 
Dernière modification par un modérateur:

fredqc31

XLDnaute Nouveau
Re : Lire le champ d'un autre fichier.

Incroyable! exactement ce que je cherche à faire! Merci beaucoup st007!!! tu as visé juste!

Maintenant tout ce que j'ai à faire c'est d'ajouter des procédures VB autant que je veux afin de recevoir le même genre de résultats dans d'autres cellules:

Par exemple si je souhaites que dans la cellule E6 on affiche la valeur de $C$19 du même fichier j'aurais juste à ajouter le code suivant à la suite du premier?


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing Then _
[E6] = "='C:\temp2\[" & [A1] & ".xlsx]Feuil1'!$C$19"
End Sub

c'est bien ça? et ce pour toutes les cellules que j'ai besoin?
 

st007

XLDnaute Barbatruc
Re : Lire le champ d'un autre fichier.

Et ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing Then
  [E5] = "='C:\temp2\[" & [A1] & ".xlsx]Feuil1'!$C$18"
  [E6] = "='C:\temp2\[" & [A1] & ".xlsx]Feuil1'!$C$19"
  [E7] = "='C:\temp2\[" & [A1] & ".xlsx]Feuil1'!$C$20"
  End If
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…