Bonjour à tous!
Dans le cadre de mon travail, je tente d'automatiser la mise à jour d'un fichier (que je ne peux pas joindre) comprenant une quarantaine d'onglets.
La mise à jour du fichier doit se faire via des extractions ayant toujours le même nom. Les liaisons étant déjà existantes je n'ai qu'a mettre à jour les liaisons.
J'ai rédigé la macro suivante pour ce faire :
Mon soucis est le suivant, en fonction de la feuille la source des liaisons diffère. J'ai essayé de rédiger la macro mais dois bien avouer qu'en tant que grand débutant ça fait beaucoup... En gros j'en suis arrivé à :
Mon problème est pour coder les différents "Pour VarX"... J'ai pensé à utiliser Case mais de ce que j'ai compris Case oblige a un choix de l'utilisateur... et je ne pense pas pouvoir utiliser une boucle vu que je n'ai pas de conditions...
Autre question : tel que rédigé la mise à jour ne s'effectue que sur les valeurs des variable VarX ?
Question subsidiaire : est-il possible qu'une variable soit égale à plusieurs feuilles ?
En espérant avoir été clair, je vous remercie par avance de vos réponses.
Fouiny,
Dans le cadre de mon travail, je tente d'automatiser la mise à jour d'un fichier (que je ne peux pas joindre) comprenant une quarantaine d'onglets.
La mise à jour du fichier doit se faire via des extractions ayant toujours le même nom. Les liaisons étant déjà existantes je n'ai qu'a mettre à jour les liaisons.
J'ai rédigé la macro suivante pour ce faire :
Code:
Dim source As string
source = ActiveWorkbook.Path & "\Extract\data.xls"
ActiveWorkbook.UpdateLink Name:=source, Type:=xlExcelLinks
Mon soucis est le suivant, en fonction de la feuille la source des liaisons diffère. J'ai essayé de rédiger la macro mais dois bien avouer qu'en tant que grand débutant ça fait beaucoup... En gros j'en suis arrivé à :
Code:
Dim VarA, VarB, VarC As Worksheet
Dim Source As String
Set VarA = ThisWorkbook.Sheets("Feuil1")
Set VarB = ThisWorkbook.Sheets("Feuil2")
Set VarC = ThisWorkbook.Sheets("Feuil3")
Pour VarA
source = ActiveWorkbook.Path & "\Extract\dataA.xls"
ActiveWorkbook.UpdateLink Name:=source, Type:=xlExcelLinks
Pour VarB
source = ActiveWorkbook.Path & "\Extract\dataB.xls"
ActiveWorkbook.UpdateLink Name:=source, Type:=xlExcelLinks
Pour VarC
source = ActiveWorkbook.Path & "\Extract\dataC.xls"
ActiveWorkbook.UpdateLink Name:=source, Type:=xlExcelLinks
Mon problème est pour coder les différents "Pour VarX"... J'ai pensé à utiliser Case mais de ce que j'ai compris Case oblige a un choix de l'utilisateur... et je ne pense pas pouvoir utiliser une boucle vu que je n'ai pas de conditions...
Autre question : tel que rédigé la mise à jour ne s'effectue que sur les valeurs des variable VarX ?
Question subsidiaire : est-il possible qu'une variable soit égale à plusieurs feuilles ?
En espérant avoir été clair, je vous remercie par avance de vos réponses.
Fouiny,