Bonjour,
voici mon code pour pouvoir, par macro, affecter un fichier different pour mettre a jour mon fichier actuel !
actuellement, je renseigne le chemin a utiliser en cell A22,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub DETAILCHEMIN() Dim ancienlien As String Dim newlien As String Dim fichier As FileDialog Set fichier = Application.FileDialog(msoFileDialogFilePicker) fichier.Show MsgBox fichier.SelectedItems(1) Range("a22").Select ActiveCell.FormulaR1C1 = fichier.SelectedItems(1) ancienlien = "" & Range("a23").Value & "" newlien = "" & Range("a22").Value & "" If Range("a23") = "" Then Range("a22").Copy Range("a23") ElseIf ancienlien <> newlien Then ActiveWorkbook.ChangeLink ancienlien, newlien, Type:=xlExcelLinks Else Exit Sub End If Range("a22").Copy Range("a23") End Sub
j'en fait une copie sur A23
et lorsque A22 est different de A23 alors le procesus de mise ajour ce fait..
ceci fonctionne tres bien...
sauf que lorsque je deplace le dossier dans lequel se trouve mon fichier,
si mon fichier etait dans "mes documents" et que je le deplace sur le bureau
par exemple,
comme le code du changement de liaison on utilise la fonction qui dit
de remplacer l'ancien lien par le nouveau, seulement,
l'ancien lien n'est plus valide, puisque mon dossier est sur le bureau alors qu'il etait dans "mes document" du coup, la procedure ne va pas au bout...
il faaudrait je pense un code qui fasse un "update" des lien sans prendre en compte l'ancien lien..
je ne sais pas comment faire...
de plus je n'aurais donc plus a comparer si les liens sont differents ou pas,
j'aurais juste a dire de faire une mise a jour des liens sur un nouveau chemin..
avez vous une idée de la structure a utiliser...??
Mille Merci !
Partager