Fonction VBA - Lien vers cellule d'un classeur fermé

Bonjour à tous,

Dans Excel, je souhaite créer une fonction VBA qui va me permettre de créer des liens avec des cellules d'un autre classeur fermé.

Dans cette fonction, je dois indiquer le chemin, le fichier, la feuille, et la plage souhaitée (je la rentrerai manuellement dans ma barre de formule. Il y a également 3 argument optionnels qui seront des sous-dossiers jusque 3 niveaux possible.

Grâce à cette fonction, je pourrais refaire les liens rapidement si un fichier venait à être déplacé (pour archivage par exemple).

J'ai déjà écrit un petit bout de programme que voici :

Function CELLCLASS(CC_NumAff As String, CC_Path As String, CC_File As String, CC_Feuille As String, CC_Plage As String, Optional CC_SsDoss1 As String, Optional CC_SsDoss2 As String, Optional CC_SsDoss3 As String)

Dim FormuleCellule As String

If CC_SsDoss1 = "" Then
FormuleCellule = "(" & Chr(39) & CC_Path & "\" & CC_NumAff & "\[" & CC_NumAff & "_" & CC_File & ".xls]" & CC_Feuille & Chr(39) & "!" & CC_Plage & ")"

ElseIf CC_SsDoss2 = "" Then
FormuleCellule = "(" & Chr(39) & CC_Path & "\" & CC_NumAff & "\" & CC_NumAff & "_" & CC_SsDoss1 & "\[" & CC_NumAff & "_" & CC_File & ".xls]" & CC_Feuille & Chr(39) & "!" & CC_Plage & ")"

ElseIf CC_SsDoss3 = "" Then
FormuleCellule = "(" & Chr(39) & CC_Path & "\" & CC_NumAff & "\" & CC_NumAff & "_" & CC_SsDoss1 & "\" & CC_NumAff & "_" & CC_SsDoss2 & "\[" & CC_NumAff & "_" & CC_File & ".xls]" & CC_Feuille & Chr(39) & "!" & CC_Plage & ")"

Else
FormuleCellule = "(" & Chr(39) & CC_Path & "\" & CC_NumAff & "\" & CC_NumAff & "_" & CC_SsDoss1 & "\" & CC_NumAff & "_" & CC_SsDoss2 & "\" & CC_NumAff & "_" & CC_SsDoss3 & "\[" & CC_NumAff & "_" & CC_File & ".xls]" & CC_Feuille & Chr(39) & "!" & CC_Plage & ")"

End If

'CELLCLASS.Formula = "=" & FormuleCellule
CELLCLASS = FormuleCellule

End Function

Je joint également un fichier avec le programme, et quelques cellules l'utilisant.

Mon problème, je n'arrive pas à créer le lien, mais seulement à l'afficher.

J'ai bien essayer avec .formula, mais cela ne fonctionne pas.

Le fichier excel de référence peut ne pas exister car il sera créer via un autre programme VBA plus tard.

Quelqu'un aurait-il une solution à mon problème, SVP ?

Merci.

Rechercher des sujets similaires à "fonction vba lien classeur ferme"