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

XL 2016 Automatiser des liaisons avec un autre fichier

Msouami33

XLDnaute Nouveau
Bonjour,

Dans mon fichier il a y a des calcul qui sont associé au mois l'on est, par exemple en A2=3 pour mars, mais aussi a des cellules dans d 'autres fichiers, serait il possible d automatiser par rapport à la cellule A2.

Exemple:
Controle De Gestion Financiere\Reporting\2022\2022-02\Consolidation\[2022.02 Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$10, est ce que c'est possbible dans ce genre de lien de remplacer le 02 ci dessus par la cellule A2? 2 est donc le mios de fevrier

Merci d'avance
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Msouami,
Peut être en utilisant la fonction "indirect", elle est faite pour ça :
Ca pourrait donner quelque chose comme ça :
VB:
=INDIRECT("'Controle De Gestion Financiere\Reporting\2022\2022-"&A2&"\Consolidation\[2022."&A2&" Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$10")
Mais, évidemment impossible à tester. A vous de tatonner.
 

Msouami33

XLDnaute Nouveau
Bonjour Sylvanu,

merci pour l'info je vais tatonner, du coup la cellule A2 ou j'ai mon chiffre représentant le mois, je dois la mettre en TEXTE pour que cela marche?
 

Msouami33

XLDnaute Nouveau
Dans ce cas remplacez A2 par DROITE("00"&A2;2) comme ça vous serez tranquille.
Bonjour sylvanu,

Bien joue pour la formule droite elle marche au top, par contre pour le reste malgres quelques transformation ca me renvoie toujours #REF!, je pense que c'est parce que c'est dans un autre dossier. la formule exacte est :

='S:\Controle De Gestion Financiere\Reporting\2022\2022-02\Consolidation\[2022.02 Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$22*-'S:\Controle De Gestion Financiere\Reporting\2022\Diffusion Reporting\Reporting It et Benelux et EAU\Italy\[Italy activity 022022 with Spain&Portugal.xlsx]Italy'!$F$9/1000/'S:\Controle De Gestion Financiere\Reporting\2022\2022-02\Consolidation\[2022.02 Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$10*1000

vu que je dois aller chercher dans mon S ca doit pas marcher, si tu as une idée? peut etre tu voudrais que je t'envoie un fichier?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je pense plutôt que dans votre formule il doit y avoir 3 indirect. Les signes de multiplication et de division doivent être hors indirect.
Indirect ne sert qu'à reconstituer une adresse.
Avez vous bien ces 3 indirect présent ?
 

Msouami33

XLDnaute Nouveau
Bonjour,
Je pense plutôt que dans votre formule il doit y avoir 3 indirect. Les signes de multiplication et de division doivent être hors indirect.
Indirect ne sert qu'à reconstituer une adresse.
Avez vous bien ces 3 indirect présent ?
Bonjour Sylvanu,

Effectivement cela marche, mais en faite je viens de voir qu'avec la fonction indirect il faut que tout les fichiers soient ouverts sinon ca ne marche pas, du coup c'est bien mais ca m'arrange pas tant que ca lol
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Si les fichiers sont fermés, alors je ne vois que le VBA pour résoudre votre souci.
Quelque chose du genre :
VB:
[C11] = "='Controle De Gestion Financiere\Reporting\2022\2022-" & [A2] & "\Consolidation\[2022." & [A2] & " Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$10"
 

Msouami33

XLDnaute Nouveau
Bonjour,
Juste pour savoir si vous pouviez l'écrire dans le code et apres je vous embete plus parce que j'avoue ne pas avoir trop compiis, si je vois le code ca sera plus simple pour tatonner ensuite
 

Pièces jointes

  • Exemple Fonction indirect.xlsx
    501.7 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
En PJ un essai avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A1]) Is Nothing Then
        [F16] = "='S:\Controle De Gestion Financiere\Reporting\2022\2022-" & [A2] & _
            "\Consolidation\[2022." & [A2] & _
            "  Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$22*-'S:\Controle De Gestion Financiere\Reporting\2022\Diffusion Reporting\Reporting It et Benelux et EAU\Italy\[Italy activity " & _
            [A2] & "2022 with Spain&Portugal.xlsx]Italy'!$F$9/'S:\Controle De Gestion Financiere\Reporting\2022\2022-" & [A2] & "\Consolidation\[2022." & [A2] & "  Division Profit & Loss Statement EMEA.xlsx]SASU'!$H$10"
    End If
End Sub
La macro se lance automatiquement lorsque la valeur en A1 change. Elle utilise A2 comme variable.
Mais évidemment impossible à tester.
Il suffit de changer le mois, la formule change, on peut alors vérifier la formule en F16 ( je n'ai modifié que celle ci ) pour corriger.
J'ai supposé qu'il fallait modifier les 2022-01 et les 2022.01.
 

Pièces jointes

  • Exemple Fonction indirect.xlsm
    506 KB · Affichages: 11

Msouami33

XLDnaute Nouveau
A wé tu es vraiment trop fort, merci beaucoup !!!
 

Discussions similaires

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