Verification vba de Linksource
Bonjour,
voici mon code pour pouvoir, par macro, affecter un fichier different pour mettre a jour mon fichier actuel !
Code:
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 |
actuellement, je renseigne le chemin a utiliser en cell A22,
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 !