DANS UN MODULE DE CODE GENERAL (Module1)
Sub ModifLiens(NouvAdresse As String)
'myDearFriend! - 20/11/05
Dim Feuille As Worksheet
Dim Plage As Range, Cellule As Range
Dim F As String, Source As String
Dim Pos As Byte
'Nom du classeur Source
Source = Sheets('Paramètres').Range('D6').Value
'Traitement
If Dir(NouvAdresse & '\' & Source) <> '' Then
If MsgBox('Modifier les liens ?', vbYesNo + vbQuestion) = vbYes Then
'Modification des liens sur chaque feuille du classeur Cible
For Each Feuille In ThisWorkbook.Worksheets
If Feuille.Name <> 'Paramètres' Then
Set Plage = Feuille.UsedRange.SpecialCells(xlCellTypeFormulas, 23)
For Each Cellule In Plage
F = Cellule.FormulaLocal
Pos = InStr(1, F, '[' & Source & ']')
If Pos > 0 Then
Cellule.FormulaLocal = '='' & NouvAdresse & '\' & Mid(F, Pos)
End If
Next Cellule
End If
Next Feuille
Exit Sub
End If
Else
MsgBox 'Pas de ''' & Source & ''' sous le chemin indiqué !', vbOKOnly, 'Erreur !'
End If
'Annuler si le chemin n'est pas le bon
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End Sub